home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / spiele / clowns / monkeys.s < prev    next >
Text File  |  1996-09-18  |  42KB  |  2,506 lines

  1. *****************************************
  2. *          Monkeys & Balloons           *
  3. *            by Frank Cohen             *
  4. *      (c) 1988 Regent Software         *
  5. * ------------------------------------- *
  6. * Started December 9, 1986              *
  7. * Last Modified December 11, 1986       *
  8. * ------------------------------------- *
  9. * Started Again May 16, 1988            *
  10. * Revision List                         *
  11. * 042388 My 27th Birthday
  12. * 060288 Beta testing release
  13. * 071688 Final release
  14. * 112488 Happy Turkey Day!
  15. * 112588 Fix Mega ST bombing problem
  16. *****************************************
  17.  
  18. CXORG EQU 20      ;Horizontal starting position
  19. CYORG EQU 154     ;Vert
  20. CKORG EQU 5       ;Gravity start
  21. CIORG EQU $100    ;Y inc value
  22. CIXORG EQU 50     ;X inc value
  23. TEMPO EQU 2       ;Music Tempo
  24. BAL_PER_ROW EQU 6 ;Balloons per row
  25.  
  26. START DC $A000
  27.  MOVE.L D0,HOLDA0
  28.  DC $A00A
  29.  
  30.  MOVE #2,-(A7)  ;GET PHYSICAL ADDRESS OF VIDEO RAM
  31.  TRAP #14
  32.  ADD #2,A7
  33.  MOVE.L D0,SCREEN
  34.  
  35.  MOVE #4,-(A7) ;GETREZ
  36.  TRAP #14
  37.  ADD #2,A7
  38.  MOVE D0,OLD_REZ
  39.  
  40.  CLR -(A7)  ;FORCE LOW REZ
  41.  MOVE.L #-1,-(A7)
  42.  MOVE.L #-1,-(A7)
  43.  MOVE #5,-(A7)
  44.  TRAP #14
  45.  ADD #10,A7
  46.  
  47.  LEA OLD_COLORS,A4
  48.  CLR COUNTER
  49. SAVECLRS CLR -(A7) ;SETCOLOR
  50.  MOVE COUNTER,-(A7)
  51.  MOVE #7,-(A7)
  52.  TRAP #14
  53.  ADD #6,A7
  54.  MOVE D0,(A4)+
  55.  ADD #1,COUNTER
  56.  CMP #16,COUNTER
  57.  BNE SAVECLRS
  58.  
  59.  MOVE.L #SETUPVB,-(A7)  ;RUN INIT V_BLANK
  60.  MOVE #38,-(A7)
  61.  TRAP #14
  62.  ADD #6,A7
  63.  
  64. *---------------LOAD DATA FROM FILES---------------*
  65.  
  66.  LEA FNAME5,A0
  67.  LEA TITLE,A1
  68.  JSR LOADFILE
  69.  
  70.  LEA FNAME4,A0
  71.  LEA MESSAGES,A1
  72.  JSR LOADFILE
  73.  
  74.  LEA FNAME3,A0
  75.  LEA MEN,A1
  76.  JSR LOADFILE
  77.  
  78.  LEA FNAME2,A0
  79.  MOVE.L SCREEN,A1
  80.  JSR LOADFILE
  81.  
  82.  LEA FNAME1,A0
  83.  LEA BALLOONS,A1
  84.  JSR LOADFILE
  85.  
  86.  MOVE #7999,D0
  87.  MOVE.L SCREEN,A0
  88.  LEA FLIP1,A1
  89. COPYFLIP2 MOVE.L (A0)+,(A1)+
  90.  DBF D0,COPYFLIP2
  91.  
  92.  MOVE.L #COLORS,-(A7)  ;SET COLOR PALETTE
  93.  MOVE #6,-(A7)
  94.  TRAP #14
  95.  ADD.L #6,A7
  96.  
  97.  ADD #4,A7  ;First time stack modify
  98.  
  99. * The TAO Programmer says:
  100. * When managers hold endless meetings, the programmers write games.
  101. * When accountants talk of quarterly profits, the development budget
  102. * is about to be cut.  When senior scientists talk blue sky,
  103. * the clouds are about to roll in.
  104. * Truly, this is not the Tao of Programming.
  105.  
  106. *---------------TITLE SCREEN---------------*
  107.  
  108. DOTITLE SUB #4,A7  ;Even out the stack
  109.  
  110.  MOVE #1,ATTRACT_MODE
  111.  JSR RMUSIC
  112.  CLR D0
  113.  JSR START_MUSIC
  114.  
  115.  LEA TITLE,A0
  116.  MOVE.L SCREEN,A1
  117.  MOVE.L #7999,D0
  118. DOTIT1 MOVE.L (A0)+,(A1)+
  119.  DBF D0,DOTIT1
  120.  
  121.  MOVE #10,COUNT2
  122.  
  123. TITLE_99 MOVE #60,COUNT
  124.  
  125. TITLE_100 MOVE VCOUNT,D0
  126. TITLE_SYNC CMP VCOUNT,D0
  127.  BEQ TITLE_SYNC
  128.  
  129.  JSR MUSIC
  130.  
  131.  MOVE.L HOLDA0,A0
  132.  MOVE -596(A0),D0
  133.  AND #3,D0
  134.  BNE START_GAME
  135.  
  136.  SUB #1,COUNT
  137.  TST COUNT
  138.  BNE TITLE_100
  139.  MOVE #60,COUNT
  140.  SUB #1,COUNT2
  141.  TST COUNT2
  142.  BNE TITLE_99
  143.  CLR.L POINTS
  144.  CLR.L BONUS
  145.  JMP PLAYINIT
  146.  
  147. START_GAME MOVE.L HOLDA0,A0
  148.  MOVE -596(A0),D0
  149.  AND #3,D0
  150.  BNE START_GAME
  151.  
  152.  JSR RMUSIC
  153.  CLR ATTRACT_MODE
  154.  CLR.L POINTS
  155.  CLR.L BONUS
  156.  MOVE #3,LIVES
  157.  
  158. *---------------INIT----------------*
  159.  
  160. PLAYINIT MOVE #20,MEN_TIMER
  161.  
  162.  CLR PCOUNT
  163.  CLR PCOUNT2
  164.  
  165.  CLR CLOWNIMAGE
  166.  MOVE #70,IMAGETIME
  167.  
  168.  MOVE #10,MENXPOS
  169.  MOVE #10,OLDMEN
  170.  
  171.  MOVE #CIORG,YINC
  172.  MOVE #CIORG,SYINC
  173.  MOVE #CIXORG,XINC
  174.  MOVE #CKORG,KS
  175.  MOVE #CKORG,KAY
  176.  CLR HITS
  177.  
  178.  MOVE #CXORG,CLOWNX
  179.  MOVE #CXORG,OLDCLOWNX
  180.  MOVE.B #CXORG,HPOS
  181.  
  182.  MOVE #CYORG,CLOWNY
  183.  MOVE #CYORG,OLDCLOWNY
  184.  MOVE.B #CYORG,VPOS
  185.  
  186.  MOVE #7999,D0
  187.  LEA FLIP1,A0
  188.  MOVE.L SCREEN,A1
  189. COPYFLIP MOVE.L (A0)+,(A1)+
  190.  DBF D0,COPYFLIP
  191.  
  192.  JSR START_BALLOONS
  193.  
  194.  CLR D0
  195.  JSR SCORED
  196.  
  197. * When managers make commitments, game programs are ignored.
  198. * When accountants make long-range plans, harmony and order are
  199. * about to be restored.  When senior scientists address the
  200. * problems at hand, then the problems will soon be solved.
  201. * Truly, this is the Tao of Programming.
  202.  
  203. *--------------MAIN LOOP---------------
  204.  
  205. MAINLOOP TST ATTRACT_MODE
  206.  BEQ MAINNB
  207.  MOVE.L HOLDA0,A0
  208.  MOVE -596(A0),D0
  209.  AND #3,D0
  210.  BNE START_GAME
  211.  
  212. MAINNB MOVE #11,-(A7)
  213.  TRAP #1
  214.  ADD #2,A7
  215.  TST D0
  216.  BEQ NOKEY
  217.  
  218.  JSR WAIT_KEY
  219.  MOVE.L D0,D1
  220.  SWAP D1
  221.  CMP.B #97,D1
  222.  BEQ EXIT
  223.  CMP.B #' ',D0
  224.  BEQ EXIT
  225.  CMP.B #27,D0
  226.  BNE NOKEY
  227.  
  228. PAUSED TST ATTRACT_MODE
  229.  BNE NOKEY
  230.  JSR WAIT_KEY
  231.  CMP.B #27,D0
  232.  BNE PAUSED
  233.  
  234. NOKEY MOVE VCOUNT,D0
  235. MAIN2 ADD #1,RNDVAL
  236.  CMP VCOUNT,D0
  237.  BEQ MAIN2
  238.  
  239.  JSR UN_PLOT_CLOWN
  240.  JSR PLOT_BALLOONS
  241.  
  242.  CMP #100,CLOWNY
  243.  BGT SYNC_LOWER
  244.  
  245.  JSR PLOT_CLOWN
  246.  JSR PLOT_MEN
  247.  JSR MOVE_CLOWN
  248.  JSR MOVE_MEN
  249.  JSR POP_BALLOONS
  250.  JSR MUSIC
  251.  JSR SOUNDS
  252.  JMP MAINLOOP
  253.  
  254. SYNC_LOWER JSR PLOT_MEN
  255.  JSR PLOT_CLOWN
  256.  JSR MOVE_CLOWN
  257.  JSR MOVE_MEN
  258.  JSR POP_BALLOONS
  259.  JSR MUSIC
  260.  JSR SOUNDS
  261.  JMP MAINLOOP
  262.  
  263. *-------MOVE MONKEYS--------
  264.  
  265. MOVE_MEN TST ATTRACT_MODE
  266.  BEQ MM_NORMAL
  267.  
  268.  MOVE VCOUNT,D0
  269.  AND #3,D0
  270.  MOVE D0,MEN_TIMER
  271.  
  272.  MOVE CLOWNX,D0
  273.  LSR #1,D0
  274.  SUB #5,D0
  275.  CMP MENXPOS,D0
  276.  BEQ MM_RTN
  277.  BCS MM_LT
  278.  
  279.  MOVE MENXPOS,D0
  280.  CMP #58,D0
  281.  BGE MM_RTN
  282.  ADD #1,MENXPOS
  283.  RTS
  284.  
  285. MM_LT MOVE MENXPOS,D0
  286.  CMP #8,D0
  287.  BLE MM_RTN
  288.  SUB #1,MENXPOS
  289.  RTS
  290.  
  291. MM_NORMAL MOVE.L HOLDA0,A0
  292.  MOVE -602(A0),D0
  293.  LSR #2,D0
  294.  CMP #7,D0
  295.  BLE MM_RTN2
  296.  CMP #60,D0
  297.  BGE MM_RTN4
  298.  
  299. MM_RTN3 MOVE D0,MENXPOS
  300. MM_RTN RTS
  301.  
  302. MM_RTN2 MOVE #8,D0
  303.  JMP MM_RTN3
  304. MM_RTN4 MOVE #59,D0
  305.  JMP MM_RTN3
  306.  
  307. *--------INIT V_BLANK ROUTINES-----------
  308.  
  309. SETUPVB MOVE.L $456,A0
  310. RUNRUN TST.L (A0)
  311.  BEQ SET2
  312.  ADD #4,A0
  313.  JMP RUNRUN
  314.  
  315. SET2 MOVE.L #V_BLANK,(A0)
  316.  MOVE.L A0,HOLDEN
  317.  RTS
  318.  
  319. *--------DE INIT--------
  320.  
  321. DEINIT MOVE.L #UNBY,-(A7)  ;RUN INIT V_BLANK
  322.  MOVE #38,-(A7)
  323.  TRAP #14
  324.  ADD #6,A7
  325.  RTS
  326.  
  327. UNBY MOVE.L HOLDEN,A0  ;CLEAR VBLANK PATCH
  328.  CLR.L (A0)
  329.  RTS
  330.  
  331. *--------VERTICAL BLANK ROUTINE----------
  332.  
  333. V_BLANK ADD #1,VCOUNT
  334.  RTS
  335.  
  336. * There was once a master programmer who wrote unstructured
  337. * programs.  A novice programmer, seeking to imitate him, also
  338. * began to write unstructured code.  When the novice asked the
  339. * master to evaluate his progress, the master criticized him
  340. * for writing unstructured programs, saying: "What is appropriate
  341. * for the master is not appropriate for the novice.  You must
  342. * understand Tao before transcending structure."
  343.  
  344. *----------BALLOON PLOT-----------
  345.  
  346. PLOT_BALLOONS ADD #1,PCOUNT2
  347.  CMP #3,PCOUNT2
  348.  BLT PLOT_MAIN
  349.  CLR PCOUNT2
  350.  
  351. PLOT_MAIN CLR PCOUNT
  352.  TST PCOUNT2
  353.  BEQ PLOT_LOOP
  354.  
  355.  MOVE #BAL_PER_ROW,PCOUNT
  356.  CMP #1,PCOUNT2
  357.  BEQ PLOT_LOOP
  358.  
  359.  MOVE #BAL_PER_ROW*2,PCOUNT
  360.  
  361. PLOT_LOOP CLR.L D7
  362.  MOVE PCOUNT,D7
  363.  LSL #1,D7
  364.  
  365.  LEA SWITCH,A0
  366.  ADD D7,A0
  367.  TST (A0)
  368.  BEQ PLOT_RCRS
  369.  
  370.  LEA DELAY,A0
  371.  ADD D7,A0
  372.  TST (A0)
  373.  BEQ PLOT_NODELAY
  374.  SUB #1,(A0)
  375.  JMP PLOT_RCRS
  376.  
  377. PLOT_NODELAY LEA XPOS,A0
  378.  ADD D7,A0
  379.  
  380.  CMP #2,PCOUNT2
  381.  BNE PLOT_RIGHT
  382.  
  383.  SUB #1,(A0)
  384.  TST (A0)
  385.  BNE PLOT_NST
  386.  MOVE #145,(A0)
  387.  JMP PLOT_NST
  388.  
  389. PLOT_RIGHT ADD #1,(A0)
  390.  CMP #145,(A0)
  391.  BLT PLOT_NST
  392.  CLR (A0)
  393.  
  394. PLOT_NST CLR.L D6
  395.  CLR.L D5
  396.  MOVE (A0),D5
  397.  MOVE D5,D6
  398.  AND #$0007,D6  ;IMAGE #
  399.  AND #$FFF8,D5
  400.  
  401.  CLR.L D1
  402.  MOVE D6,D1
  403.  MOVE.L #160*14,D0
  404.  CMP #4,D6
  405.  BLT PAPPAS
  406.  SUB #4,D1
  407.  MOVE #160*48,D0
  408. PAPPAS ADD.L #BALLOONS,D0
  409.  
  410.  LSL #5,D1
  411.  ADD.L D1,D0
  412.  MOVE.L D0,A0
  413.  
  414.  MOVE.L SCREEN,D1
  415.  ADD.L #44*160,D1
  416.  TST PCOUNT2
  417.  BEQ DOUG3
  418.  ADD.L #60*160,D1
  419.  CMP #1,PCOUNT2
  420.  BEQ DOUG3
  421.  SUB.L #30*160,D1
  422.  
  423. DOUG3 ADD.L D5,D1
  424.  MOVE.L D1,A1
  425.  
  426.  MOVE.L (A0)+,(A1)+
  427.  MOVE.L (A0)+,(A1)+
  428.  MOVE.L (A0)+,(A1)+
  429.  MOVE.L (A0)+,(A1)+
  430.  ADD #160-16,A0
  431.  ADD #160-16,A1
  432.  MOVE.L (A0)+,(A1)+
  433.  MOVE.L (A0)+,(A1)+
  434.  MOVE.L (A0)+,(A1)+
  435.  MOVE.L (A0)+,(A1)+
  436.  ADD #160-16,A0
  437.  ADD #160-16,A1
  438.  MOVE.L (A0)+,(A1)+
  439.  MOVE.L (A0)+,(A1)+
  440.  MOVE.L (A0)+,(A1)+
  441.  MOVE.L (A0)+,(A1)+
  442.  ADD #160-16,A0
  443.  ADD #160-16,A1
  444.  MOVE.L (A0)+,(A1)+
  445.  MOVE.L (A0)+,(A1)+
  446.  MOVE.L (A0)+,(A1)+
  447.  MOVE.L (A0)+,(A1)+
  448.  ADD #160-16,A0
  449.  ADD #160-16,A1
  450.  MOVE.L (A0)+,(A1)+
  451.  MOVE.L (A0)+,(A1)+
  452.  MOVE.L (A0)+,(A1)+
  453.  MOVE.L (A0)+,(A1)+
  454.  ADD #160-16,A0
  455.  ADD #160-16,A1
  456.  MOVE.L (A0)+,(A1)+
  457.  MOVE.L (A0)+,(A1)+
  458.  MOVE.L (A0)+,(A1)+
  459.  MOVE.L (A0)+,(A1)+
  460.  ADD #160-16,A0
  461.  ADD #160-16,A1
  462.  MOVE.L (A0)+,(A1)+
  463.  MOVE.L (A0)+,(A1)+
  464.  MOVE.L (A0)+,(A1)+
  465.  MOVE.L (A0)+,(A1)+
  466.  ADD #160-16,A0
  467.  ADD #160-16,A1
  468.  MOVE.L (A0)+,(A1)+
  469.  MOVE.L (A0)+,(A1)+
  470.  MOVE.L (A0)+,(A1)+
  471.  MOVE.L (A0)+,(A1)+
  472.  ADD #160-16,A0
  473.  ADD #160-16,A1
  474.  MOVE.L (A0)+,(A1)+
  475.  MOVE.L (A0)+,(A1)+
  476.  MOVE.L (A0)+,(A1)+
  477.  MOVE.L (A0)+,(A1)+
  478.  ADD #160-16,A0
  479.  ADD #160-16,A1
  480.  MOVE.L (A0)+,(A1)+
  481.  MOVE.L (A0)+,(A1)+
  482.  MOVE.L (A0)+,(A1)+
  483.  MOVE.L (A0)+,(A1)+
  484.  ADD #160-16,A0
  485.  ADD #160-16,A1
  486.  MOVE.L (A0)+,(A1)+
  487.  MOVE.L (A0)+,(A1)+
  488.  MOVE.L (A0)+,(A1)+
  489.  MOVE.L (A0)+,(A1)+
  490.  ADD #160-16,A0
  491.  ADD #160-16,A1
  492.  MOVE.L (A0)+,(A1)+
  493.  MOVE.L (A0)+,(A1)+
  494.  MOVE.L (A0)+,(A1)+
  495.  MOVE.L (A0)+,(A1)+
  496.  ADD #160-16,A0
  497.  ADD #160-16,A1
  498.  MOVE.L (A0)+,(A1)+
  499.  MOVE.L (A0)+,(A1)+
  500.  MOVE.L (A0)+,(A1)+
  501.  MOVE.L (A0)+,(A1)+
  502.  ADD #160-16,A0
  503.  ADD #160-16,A1
  504.  MOVE.L (A0)+,(A1)+
  505.  MOVE.L (A0)+,(A1)+
  506.  MOVE.L (A0)+,(A1)+
  507.  MOVE.L (A0)+,(A1)+
  508.  ADD #160-16,A0
  509.  ADD #160-16,A1
  510.  MOVE.L (A0)+,(A1)+
  511.  MOVE.L (A0)+,(A1)+
  512.  MOVE.L (A0)+,(A1)+
  513.  MOVE.L (A0)+,(A1)+
  514.  ADD #160-16,A0
  515.  ADD #160-16,A1
  516.  MOVE.L (A0)+,(A1)+
  517.  MOVE.L (A0)+,(A1)+
  518.  MOVE.L (A0)+,(A1)+
  519.  MOVE.L (A0)+,(A1)+
  520.  ADD #160-16,A0
  521.  ADD #160-16,A1
  522.  MOVE.L (A0)+,(A1)+
  523.  MOVE.L (A0)+,(A1)+
  524.  MOVE.L (A0)+,(A1)+
  525.  MOVE.L (A0)+,(A1)+
  526.  ADD #160-16,A0
  527.  ADD #160-16,A1
  528.  MOVE.L (A0)+,(A1)+
  529.  MOVE.L (A0)+,(A1)+
  530.  MOVE.L (A0)+,(A1)+
  531.  MOVE.L (A0)+,(A1)+
  532.  ADD #160-16,A0
  533.  ADD #160-16,A1
  534.  MOVE.L (A0)+,(A1)+
  535.  MOVE.L (A0)+,(A1)+
  536.  MOVE.L (A0)+,(A1)+
  537.  MOVE.L (A0)+,(A1)+
  538.  ADD #160-16,A0
  539.  ADD #160-16,A1
  540.  MOVE.L (A0)+,(A1)+
  541.  MOVE.L (A0)+,(A1)+
  542.  MOVE.L (A0)+,(A1)+
  543.  MOVE.L (A0)+,(A1)+
  544.  ADD #160-16,A0
  545.  ADD #160-16,A1
  546.  MOVE.L (A0)+,(A1)+
  547.  MOVE.L (A0)+,(A1)+
  548.  MOVE.L (A0)+,(A1)+
  549.  MOVE.L (A0)+,(A1)+
  550.  ADD #160-16,A0
  551.  ADD #160-16,A1
  552.  MOVE.L (A0)+,(A1)+
  553.  MOVE.L (A0)+,(A1)+
  554.  MOVE.L (A0)+,(A1)+
  555.  MOVE.L (A0)+,(A1)+
  556.  ADD #160-16,A0
  557.  ADD #160-16,A1
  558.  MOVE.L (A0)+,(A1)+
  559.  MOVE.L (A0)+,(A1)+
  560.  MOVE.L (A0)+,(A1)+
  561.  MOVE.L (A0)+,(A1)+
  562.  ADD #160-16,A0
  563.  ADD #160-16,A1
  564.  MOVE.L (A0)+,(A1)+
  565.  MOVE.L (A0)+,(A1)+
  566.  MOVE.L (A0)+,(A1)+
  567.  MOVE.L (A0)+,(A1)+
  568.  ADD #160-16,A0
  569.  ADD #160-16,A1
  570.  MOVE.L (A0)+,(A1)+
  571.  MOVE.L (A0)+,(A1)+
  572.  MOVE.L (A0)+,(A1)+
  573.  MOVE.L (A0)+,(A1)+
  574.  ADD #160-16,A0
  575.  ADD #160-16,A1
  576.  MOVE.L (A0)+,(A1)+
  577.  MOVE.L (A0)+,(A1)+
  578.  MOVE.L (A0)+,(A1)+
  579.  MOVE.L (A0)+,(A1)+
  580.  
  581. *-------RECURSE-------
  582.  
  583. PLOT_RCRS ADD #1,PCOUNT
  584.  
  585.  TST PCOUNT2
  586.  BEQ PLOT_T2
  587.  CMP #1,PCOUNT2
  588.  BEQ PLOT_T1
  589.  
  590.  CMP #BAL_PER_ROW*3,PCOUNT
  591.  BNE PLOT_LOOP
  592.  
  593.  LEA FLIP1+11840,A0
  594.  MOVE.L SCREEN,A1
  595.  ADD #11840,A1
  596.  JSR DODOUG
  597.  
  598.  LEA FLIP1+11984,A0
  599.  MOVE.L SCREEN,A1
  600.  ADD #11984,A1
  601.  JMP DODOUG
  602.  
  603. PLOT_T1 CMP #BAL_PER_ROW*2,PCOUNT
  604.  BNE PLOT_LOOP
  605.  
  606.  LEA FLIP1+16640,A0
  607.  MOVE.L SCREEN,A1
  608.  ADD #16640,A1
  609.  JSR DODOUG
  610.  
  611.  LEA FLIP1+16784,A0
  612.  MOVE.L SCREEN,A1
  613.  ADD #16784,A1
  614.  JMP DODOUG
  615.  
  616. PLOT_T2 CMP #BAL_PER_ROW,PCOUNT
  617.  BNE PLOT_LOOP
  618.  
  619.  LEA FLIP1+7040,A0
  620.  MOVE.L SCREEN,A1
  621.  ADD #7040,A1
  622.  JSR DODOUG
  623.  
  624.  LEA FLIP1+7184,A0
  625.  MOVE.L SCREEN,A1
  626.  ADD #7184,A1
  627.  
  628. DODOUG MOVE.L (A0)+,(A1)+
  629.  MOVE.L (A0)+,(A1)+
  630.  MOVE.L (A0)+,(A1)+
  631.  MOVE.L (A0)+,(A1)+
  632.  ADD #160-16,A0
  633.  ADD #160-16,A1
  634.  MOVE.L (A0)+,(A1)+
  635.  MOVE.L (A0)+,(A1)+
  636.  MOVE.L (A0)+,(A1)+
  637.  MOVE.L (A0)+,(A1)+
  638.  ADD #160-16,A0
  639.  ADD #160-16,A1
  640.  MOVE.L (A0)+,(A1)+
  641.  MOVE.L (A0)+,(A1)+
  642.  MOVE.L (A0)+,(A1)+
  643.  MOVE.L (A0)+,(A1)+
  644.  ADD #160-16,A0
  645.  ADD #160-16,A1
  646.  MOVE.L (A0)+,(A1)+
  647.  MOVE.L (A0)+,(A1)+
  648.  MOVE.L (A0)+,(A1)+
  649.  MOVE.L (A0)+,(A1)+
  650.  ADD #160-16,A0
  651.  ADD #160-16,A1
  652.  MOVE.L (A0)+,(A1)+
  653.  MOVE.L (A0)+,(A1)+
  654.  MOVE.L (A0)+,(A1)+
  655.  MOVE.L (A0)+,(A1)+
  656.  ADD #160-16,A0
  657.  ADD #160-16,A1
  658.  MOVE.L (A0)+,(A1)+
  659.  MOVE.L (A0)+,(A1)+
  660.  MOVE.L (A0)+,(A1)+
  661.  MOVE.L (A0)+,(A1)+
  662.  ADD #160-16,A0
  663.  ADD #160-16,A1
  664.  MOVE.L (A0)+,(A1)+
  665.  MOVE.L (A0)+,(A1)+
  666.  MOVE.L (A0)+,(A1)+
  667.  MOVE.L (A0)+,(A1)+
  668.  ADD #160-16,A0
  669.  ADD #160-16,A1
  670.  MOVE.L (A0)+,(A1)+
  671.  MOVE.L (A0)+,(A1)+
  672.  MOVE.L (A0)+,(A1)+
  673.  MOVE.L (A0)+,(A1)+
  674.  ADD #160-16,A0
  675.  ADD #160-16,A1
  676.  MOVE.L (A0)+,(A1)+
  677.  MOVE.L (A0)+,(A1)+
  678.  MOVE.L (A0)+,(A1)+
  679.  MOVE.L (A0)+,(A1)+
  680.  ADD #160-16,A0
  681.  ADD #160-16,A1
  682.  MOVE.L (A0)+,(A1)+
  683.  MOVE.L (A0)+,(A1)+
  684.  MOVE.L (A0)+,(A1)+
  685.  MOVE.L (A0)+,(A1)+
  686.  ADD #160-16,A0
  687.  ADD #160-16,A1
  688.  MOVE.L (A0)+,(A1)+
  689.  MOVE.L (A0)+,(A1)+
  690.  MOVE.L (A0)+,(A1)+
  691.  MOVE.L (A0)+,(A1)+
  692.  ADD #160-16,A0
  693.  ADD #160-16,A1
  694.  MOVE.L (A0)+,(A1)+
  695.  MOVE.L (A0)+,(A1)+
  696.  MOVE.L (A0)+,(A1)+
  697.  MOVE.L (A0)+,(A1)+
  698.  ADD #160-16,A0
  699.  ADD #160-16,A1
  700.  MOVE.L (A0)+,(A1)+
  701.  MOVE.L (A0)+,(A1)+
  702.  MOVE.L (A0)+,(A1)+
  703.  MOVE.L (A0)+,(A1)+
  704.  ADD #160-16,A0
  705.  ADD #160-16,A1
  706.  MOVE.L (A0)+,(A1)+
  707.  MOVE.L (A0)+,(A1)+
  708.  MOVE.L (A0)+,(A1)+
  709.  MOVE.L (A0)+,(A1)+
  710.  ADD #160-16,A0
  711.  ADD #160-16,A1
  712.  MOVE.L (A0)+,(A1)+
  713.  MOVE.L (A0)+,(A1)+
  714.  MOVE.L (A0)+,(A1)+
  715.  MOVE.L (A0)+,(A1)+
  716.  ADD #160-16,A0
  717.  ADD #160-16,A1
  718.  MOVE.L (A0)+,(A1)+
  719.  MOVE.L (A0)+,(A1)+
  720.  MOVE.L (A0)+,(A1)+
  721.  MOVE.L (A0)+,(A1)+
  722.  ADD #160-16,A0
  723.  ADD #160-16,A1
  724.  MOVE.L (A0)+,(A1)+
  725.  MOVE.L (A0)+,(A1)+
  726.  MOVE.L (A0)+,(A1)+
  727.  MOVE.L (A0)+,(A1)+
  728.  ADD #160-16,A0
  729.  ADD #160-16,A1
  730.  MOVE.L (A0)+,(A1)+
  731.  MOVE.L (A0)+,(A1)+
  732.  MOVE.L (A0)+,(A1)+
  733.  MOVE.L (A0)+,(A1)+
  734.  ADD #160-16,A0
  735.  ADD #160-16,A1
  736.  MOVE.L (A0)+,(A1)+
  737.  MOVE.L (A0)+,(A1)+
  738.  MOVE.L (A0)+,(A1)+
  739.  MOVE.L (A0)+,(A1)+
  740.  ADD #160-16,A0
  741.  ADD #160-16,A1
  742.  MOVE.L (A0)+,(A1)+
  743.  MOVE.L (A0)+,(A1)+
  744.  MOVE.L (A0)+,(A1)+
  745.  MOVE.L (A0)+,(A1)+
  746.  ADD #160-16,A0
  747.  ADD #160-16,A1
  748.  MOVE.L (A0)+,(A1)+
  749.  MOVE.L (A0)+,(A1)+
  750.  MOVE.L (A0)+,(A1)+
  751.  MOVE.L (A0)+,(A1)+
  752.  ADD #160-16,A0
  753.  ADD #160-16,A1
  754.  MOVE.L (A0)+,(A1)+
  755.  MOVE.L (A0)+,(A1)+
  756.  MOVE.L (A0)+,(A1)+
  757.  MOVE.L (A0)+,(A1)+
  758.  ADD #160-16,A0
  759.  ADD #160-16,A1
  760.  MOVE.L (A0)+,(A1)+
  761.  MOVE.L (A0)+,(A1)+
  762.  MOVE.L (A0)+,(A1)+
  763.  MOVE.L (A0)+,(A1)+
  764.  ADD #160-16,A0
  765.  ADD #160-16,A1
  766.  MOVE.L (A0)+,(A1)+
  767.  MOVE.L (A0)+,(A1)+
  768.  MOVE.L (A0)+,(A1)+
  769.  MOVE.L (A0)+,(A1)+
  770.  ADD #160-16,A0
  771.  ADD #160-16,A1
  772.  MOVE.L (A0)+,(A1)+
  773.  MOVE.L (A0)+,(A1)+
  774.  MOVE.L (A0)+,(A1)+
  775.  MOVE.L (A0)+,(A1)+
  776.  ADD #160-16,A0
  777.  ADD #160-16,A1
  778.  MOVE.L (A0)+,(A1)+
  779.  MOVE.L (A0)+,(A1)+
  780.  MOVE.L (A0)+,(A1)+
  781.  MOVE.L (A0)+,(A1)+
  782.  RTS
  783.  
  784. *-----------PLOT RUNNING MEN---------
  785.  
  786. PLOT_MEN CLR.L D0
  787.  MOVE OLDMEN,D0
  788.  AND #$FFFC,D0
  789.  LSL #1,D0
  790.  MOVE.L SCREEN,A1
  791.  ADD #160*173,A1
  792.  ADD D0,A1
  793.  
  794.  MOVE #3,D1
  795. CLRMEN CLR.L (A1)+
  796.  CLR.L (A1)+
  797.  CLR.L (A1)+
  798.  CLR.L (A1)+
  799.  CLR.L (A1)+
  800.  CLR.L (A1)+
  801.  CLR.L (A1)+
  802.  CLR.L (A1)+
  803.  ADD #160-32,A1
  804.  CLR.L (A1)+
  805.  CLR.L (A1)+
  806.  CLR.L (A1)+
  807.  CLR.L (A1)+
  808.  CLR.L (A1)+
  809.  CLR.L (A1)+
  810.  CLR.L (A1)+
  811.  CLR.L (A1)+
  812.  ADD #160-32,A1
  813.  CLR.L (A1)+
  814.  CLR.L (A1)+
  815.  CLR.L (A1)+
  816.  CLR.L (A1)+
  817.  CLR.L (A1)+
  818.  CLR.L (A1)+
  819.  CLR.L (A1)+
  820.  CLR.L (A1)+
  821.  ADD #160-32,A1
  822.  CLR.L (A1)+
  823.  CLR.L (A1)+
  824.  CLR.L (A1)+
  825.  CLR.L (A1)+
  826.  CLR.L (A1)+
  827.  CLR.L (A1)+
  828.  CLR.L (A1)+
  829.  CLR.L (A1)+
  830.  ADD #160-32,A1
  831.  CLR.L (A1)+
  832.  CLR.L (A1)+
  833.  CLR.L (A1)+
  834.  CLR.L (A1)+
  835.  CLR.L (A1)+
  836.  CLR.L (A1)+
  837.  CLR.L (A1)+
  838.  CLR.L (A1)+
  839.  ADD #160-32,A1
  840.  DBF D1,CLRMEN
  841.  CLR.L (A1)+
  842.  CLR.L (A1)+
  843.  CLR.L (A1)+
  844.  CLR.L (A1)+
  845.  CLR.L (A1)+
  846.  CLR.L (A1)+
  847.  CLR.L (A1)+
  848.  CLR.L (A1)+
  849.  
  850. * A novice asked the master: "Here is a programmer who never
  851. * designs, documents, or tests his programs.  Yet all who know
  852. * him consider him one of the best programmers in the world.
  853. * Why is this?"
  854. * The master replied: "That programmer has mastered the Tao.
  855. * He has gone beyond the need for design;  he does not become
  856. * angry when the system crashes, but accepts the universe without
  857. * concern.  He has gone beyond the need for documentation; he no longer
  858. * cares if anyone sees his code.  He has gone beyond the need for
  859. * testing;  each of his programs are perfect within themselves,
  860. * serene and elegant, their purpose self-evident.
  861. * "Truly, he has entered te mystery of the Tao."
  862.  
  863.  CLR.L D1
  864.  MOVE MENXPOS,D1
  865.  MOVE D1,OLDMEN
  866.  AND #$0003,D1
  867.  LSL #5,D1
  868.  LEA MEN,A0
  869.  ADD #160*11,A0
  870.  ADD D1,A0
  871.  
  872.  CLR.L D0
  873.  MOVE MENXPOS,D0
  874.  AND #$FFFC,D0
  875.  LSL #1,D0
  876.  MOVE.L SCREEN,A1
  877.  ADD #160*173,A1
  878.  ADD D0,A1
  879.  
  880.  MOVE #3,D1
  881. MENPOS MOVE.L (A0)+,(A1)+
  882.  MOVE.L (A0)+,(A1)+
  883.  MOVE.L (A0)+,(A1)+
  884.  MOVE.L (A0)+,(A1)+
  885.  MOVE.L (A0)+,(A1)+
  886.  MOVE.L (A0)+,(A1)+
  887.  MOVE.L (A0)+,(A1)+
  888.  MOVE.L (A0)+,(A1)+
  889.  ADD #160-32,A0
  890.  ADD #160-32,A1
  891.  MOVE.L (A0)+,(A1)+
  892.  MOVE.L (A0)+,(A1)+
  893.  MOVE.L (A0)+,(A1)+
  894.  MOVE.L (A0)+,(A1)+
  895.  MOVE.L (A0)+,(A1)+
  896.  MOVE.L (A0)+,(A1)+
  897.  MOVE.L (A0)+,(A1)+
  898.  MOVE.L (A0)+,(A1)+
  899.  ADD #160-32,A0
  900.  ADD #160-32,A1
  901.  MOVE.L (A0)+,(A1)+
  902.  MOVE.L (A0)+,(A1)+
  903.  MOVE.L (A0)+,(A1)+
  904.  MOVE.L (A0)+,(A1)+
  905.  MOVE.L (A0)+,(A1)+
  906.  MOVE.L (A0)+,(A1)+
  907.  MOVE.L (A0)+,(A1)+
  908.  MOVE.L (A0)+,(A1)+
  909.  ADD #160-32,A0
  910.  ADD #160-32,A1
  911.  MOVE.L (A0)+,(A1)+
  912.  MOVE.L (A0)+,(A1)+
  913.  MOVE.L (A0)+,(A1)+
  914.  MOVE.L (A0)+,(A1)+
  915.  MOVE.L (A0)+,(A1)+
  916.  MOVE.L (A0)+,(A1)+
  917.  MOVE.L (A0)+,(A1)+
  918.  MOVE.L (A0)+,(A1)+
  919.  ADD #160-32,A0
  920.  ADD #160-32,A1
  921.  MOVE.L (A0)+,(A1)+
  922.  MOVE.L (A0)+,(A1)+
  923.  MOVE.L (A0)+,(A1)+
  924.  MOVE.L (A0)+,(A1)+
  925.  MOVE.L (A0)+,(A1)+
  926.  MOVE.L (A0)+,(A1)+
  927.  MOVE.L (A0)+,(A1)+
  928.  MOVE.L (A0)+,(A1)+
  929.  ADD #160-32,A0
  930.  ADD #160-32,A1
  931.  DBF D1,MENPOS
  932.  MOVE.L (A0)+,(A1)+
  933.  MOVE.L (A0)+,(A1)+
  934.  MOVE.L (A0)+,(A1)+
  935.  MOVE.L (A0)+,(A1)+
  936.  MOVE.L (A0)+,(A1)+
  937.  MOVE.L (A0)+,(A1)+
  938.  MOVE.L (A0)+,(A1)+
  939.  MOVE.L (A0)+,(A1)+
  940.  RTS
  941.  
  942. *-----------PLOT CLOWN---------
  943.  
  944. UN_PLOT_CLOWN CLR.L D1
  945.  MOVE OLDCLOWNX,D1
  946.  AND #$0007,D1
  947.  LSL #4,D1
  948.  LEA MEN,A0
  949.  ADD #160*43,A0
  950.  ADD.L D1,A0
  951.  CLR.L D1
  952.  MOVE OLDIMAGE,D1
  953.  MULU #41*160,D1
  954.  ADD.L D1,A0
  955.  
  956.  CLR.L D1
  957.  MOVE OLDCLOWNY,D1
  958.  MULU #160,D1
  959.  CLR.L D0
  960.  MOVE OLDCLOWNX,D0
  961.  AND #$FFF8,D0
  962.  ADD.L SCREEN,D0
  963.  ADD.L D1,D0
  964.  MOVE.L D0,A1
  965.  
  966.  MOVE #29,D3
  967. CLRCLOWN MOVE.L (A0)+,D0
  968.  EOR.L #$FFFFFFFF,D0
  969.  MOVE.L (A1),D1
  970.  AND.L D1,D0
  971.  MOVE.L D0,(A1)+
  972.  
  973.  MOVE.L (A0)+,D0
  974.  EOR.L #$FFFFFFFF,D0
  975.  MOVE.L (A1),D1
  976.  AND.L D1,D0
  977.  MOVE.L D0,(A1)+
  978.  
  979.  MOVE.L (A0)+,D0
  980.  EOR.L #$FFFFFFFF,D0
  981.  MOVE.L (A1),D1
  982.  AND.L D1,D0
  983.  MOVE.L D0,(A1)+
  984.  
  985.  MOVE.L (A0)+,D0
  986.  EOR.L #$FFFFFFFF,D0
  987.  MOVE.L (A1),D1
  988.  AND.L D1,D0
  989.  MOVE.L D0,(A1)+
  990.  
  991.  ADD #160-16,A0
  992.  ADD #160-16,A1
  993.  DBF D3,CLRCLOWN
  994.  RTS
  995.  
  996. PLOT_CLOWN SUB #1,IMAGETIME
  997.  TST IMAGETIME
  998.  BPL NOIMAGE
  999.  MOVE RNDVAL,D0
  1000.  AND #$3F,D0
  1001.  MOVE D0,IMAGETIME
  1002.  AND #3,D0
  1003.  MOVE D0,CLOWNIMAGE
  1004.  
  1005. NOIMAGE MOVE CLOWNX,OLDCLOWNX
  1006.  MOVE CLOWNY,OLDCLOWNY
  1007.  MOVE CLOWNIMAGE,OLDIMAGE
  1008.  
  1009.  CLR.L D1
  1010.  MOVE CLOWNX,D1
  1011.  AND #$0007,D1
  1012.  LSL #4,D1
  1013.  LEA MEN,A0
  1014.  ADD #160*43,A0
  1015.  ADD D1,A0
  1016.  CLR.L D1
  1017.  MOVE CLOWNIMAGE,D1
  1018.  MULU #41*160,D1
  1019.  ADD.L D1,A0
  1020.  
  1021.  CLR.L D1
  1022.  MOVE CLOWNY,D1
  1023.  MULU #160,D1
  1024.  CLR.L D0
  1025.  MOVE CLOWNX,D0
  1026.  AND #$FFF8,D0
  1027.  ADD.L SCREEN,D0
  1028.  ADD.L D1,D0
  1029.  MOVE.L D0,A1
  1030.  
  1031.  MOVE #29,D3
  1032. CLOWNPOS MOVE.L (A0)+,D0
  1033.  MOVE.L D0,D2
  1034.  EOR.L #$FFFFFFFF,D0
  1035.  MOVE.L (A1),D1
  1036.  AND.L D1,D0
  1037.  OR.L D2,D0
  1038.  MOVE.L D0,(A1)+
  1039.  
  1040.  MOVE.L (A0)+,D0
  1041.  MOVE.L D0,D2
  1042.  EOR.L #$FFFFFFFF,D0
  1043.  MOVE.L (A1),D1
  1044.  AND.L D1,D0
  1045.  OR.L D2,D0
  1046.  MOVE.L D0,(A1)+
  1047.  
  1048.  MOVE.L (A0)+,D0
  1049.  MOVE.L D0,D2
  1050.  EOR.L #$FFFFFFFF,D0
  1051.  MOVE.L (A1),D1
  1052.  AND.L D1,D0
  1053.  OR.L D2,D0
  1054.  MOVE.L D0,(A1)+
  1055.  
  1056.  MOVE.L (A0)+,D0
  1057.  MOVE.L D0,D2
  1058.  EOR.L #$FFFFFFFF,D0
  1059.  MOVE.L (A1),D1
  1060.  AND.L D1,D0
  1061.  OR.L D2,D0
  1062.  MOVE.L D0,(A1)+
  1063.  
  1064.  ADD #160-16,A0
  1065.  ADD #160-16,A1
  1066.  DBF D3,CLOWNPOS
  1067.  RTS
  1068.  
  1069. *------------CLOWN MOVEMENT------------
  1070.  
  1071. MOVE_CLOWN MOVE YINC,D0
  1072.  SUB KAY,D0
  1073.  MOVE D0,YINC
  1074.  
  1075.  CLR.L D2
  1076.  MOVE D0,D2
  1077.  CLR.L D1
  1078.  MOVE VPOS,D1
  1079.  SUB D2,D1
  1080.  MOVE D1,VPOS
  1081.  
  1082.  CLR D1
  1083.  MOVE.B VPOS,D1
  1084.  CMP #45,D1
  1085.  BGT NO_TOP
  1086.  MOVE #1,TOP_FLAG
  1087.  
  1088. NO_TOP CLR.L D0
  1089.  MOVE HPOS,D0
  1090.  ADD XINC,D0
  1091.  MOVE D0,HPOS
  1092.  
  1093.  CMP.B #16,HPOS  ;Hit left wall
  1094.  BCC NSS
  1095.  
  1096.  ADD.B #1,HPOS
  1097.  CLR D0
  1098.  SUB XINC,D0
  1099.  MOVE D0,XINC
  1100.  
  1101.  MOVE #3,IMAGETIME
  1102.  JSR HIT_WALL
  1103.  
  1104. NSS CMP.B #136,HPOS
  1105.  BCS NSSL
  1106.  
  1107.  SUB.B #1,HPOS   ;Hit right wall
  1108.  CLR D0
  1109.  SUB XINC,D0
  1110.  MOVE D0,XINC
  1111.  
  1112.  MOVE #3,IMAGETIME
  1113.  JSR HIT_WALL
  1114.  
  1115. NSSL CMP.B #155,VPOS  ;Bounce on trampoline
  1116.  BCS MVMAN
  1117.  
  1118.  ADD #1,HITS
  1119.  
  1120.  TST TOP_FLAG
  1121.  BEQ NOTOPED
  1122.  CLR TOP_FLAG
  1123.  CMP #90,KS
  1124.  BGT SKILL2
  1125.  ADD #1,KS
  1126.  ADD #16,SYINC
  1127.  JMP REPLAY
  1128. SKILL2 SUB #35,SYINC
  1129.  JMP REPLAY
  1130.  
  1131. NOTOPED ADD #30,SYINC
  1132.  
  1133. REPLAY MOVE SYINC,YINC
  1134.  MOVE KS,KAY
  1135.  SUB #1,VPOS
  1136.  
  1137.  TST ATTRACT_MODE
  1138.  BNE NOTRAMPSND
  1139.  TST MUSTAT
  1140.  BNE NOTRAMPSND
  1141.  JSR RMUSIC
  1142.  MOVE #10,SOUND_COUNT
  1143.  
  1144.  MOVE #236,D0
  1145.  MOVE #0,D1
  1146.  JSR DOSOUND
  1147.  MOVE #5,D0
  1148.  MOVE #1,D1
  1149.  JSR DOSOUND
  1150.  MOVE #230,D0
  1151.  MOVE #2,D1
  1152.  JSR DOSOUND
  1153.  MOVE #5,D0
  1154.  MOVE #3,D1
  1155.  JSR DOSOUND
  1156.  MOVE #252,D0  ;Turn on all tone voices
  1157.  MOVE #7,D1
  1158.  JSR DOSOUND
  1159.  MOVE #10,D0  ;Set volumes
  1160.  MOVE #8,D1
  1161.  JSR DOSOUND
  1162.  MOVE #10,D0
  1163.  MOVE #9,D1
  1164.  JSR DOSOUND
  1165.  MOVE #10,D0
  1166.  MOVE #10,D1
  1167.  JSR DOSOUND
  1168.  
  1169. NOTRAMPSND CLR.L D1
  1170.  MOVE MENXPOS,D1
  1171.  LSL #1,D1
  1172.  
  1173.  CLR.L D0
  1174.  MOVE.B HPOS,D0
  1175.  
  1176.  CMP D1,D0
  1177.  BLT DEAD
  1178.  
  1179.  SUB D1,D0
  1180.  CMP #17,D0
  1181.  BGE DEAD
  1182.  
  1183.  TST ATTRACT_MODE
  1184.  BEQ MV_NATT
  1185.  MOVE #-175,XINC
  1186.  MOVE RNDVAL,D0
  1187.  AND #1,D0
  1188.  BEQ MVMAN
  1189.  MOVE #175,XINC
  1190.  JMP MVMAN
  1191.  
  1192. MV_NATT CLR.L D1
  1193.  MOVE D0,D1
  1194.  LSL #1,D1
  1195.  ADD.L #XTABLE,D1
  1196.  MOVE.L D1,A0
  1197.  MOVE (A0),XINC
  1198.  
  1199. MVMAN CLR D0
  1200.  MOVE.B VPOS,D0
  1201.  MOVE D0,CLOWNY
  1202.  CLR D0
  1203.  MOVE.B HPOS,D0
  1204.  MOVE D0,CLOWNX
  1205.  RTS
  1206.  
  1207. *----------DEATH ROUTINE-----------*
  1208.  
  1209. DEAD LEA FLIP1,A0
  1210.  ADD #153*160,A0
  1211.  MOVE.L SCREEN,A1
  1212.  ADD #153*160,A1
  1213.  MOVE.L #160*42,D0
  1214. DEAD2 MOVE.B (A0)+,(A1)+
  1215.  DBF D0,DEAD2
  1216.  
  1217.  MOVE.L SCREEN,A1
  1218.  ADD #160*166,A1
  1219.  CLR.L D0
  1220.  MOVE CLOWNX,D0
  1221.  AND #$FFF8,D0
  1222.  ADD.L D0,A1
  1223.  
  1224.  LEA MEN,A0
  1225.  ADD #160*43,A0
  1226.  ADD #128,A0
  1227.  
  1228.  MOVE #28,D0
  1229. DEAD3 MOVE.L (A0)+,(A1)+
  1230.  MOVE.L (A0)+,(A1)+
  1231.  MOVE.L (A0)+,(A1)+
  1232.  MOVE.L (A0)+,(A1)+
  1233.  ADD #160-16,A0
  1234.  ADD #160-16,A1
  1235.  DBF D0,DEAD3
  1236.  
  1237.  JSR RMUSIC
  1238.  MOVE #2,D0
  1239.  JSR START_MUSIC
  1240.  
  1241.  TST LIVES
  1242.  BNE DEAD4
  1243.  MOVE #4,D0
  1244.  JSR DOMESSAGE
  1245.  
  1246. DEAD4 MOVE VCOUNT,D0
  1247. DEAD5 ADD #1,RNDVAL
  1248.  CMP VCOUNT,D0
  1249.  BEQ DEAD5
  1250.  JSR MUSIC
  1251.  JSR PLOT_BALLOONS
  1252.  TST MUSTAT
  1253.  BNE DEAD4
  1254.  
  1255.  TST LIVES
  1256.  BEQ GAME_OVER
  1257.  SUB #1,LIVES
  1258.  JMP PLAYINIT
  1259. GAME_OVER JMP DOTITLE
  1260.  
  1261. XTABLE DC -350,-300,-250,-225,-200,-175,-150,-50
  1262.  DC 50,150,175,200,225,250,300,350
  1263.  DC 350,350,350,350,350,350,350,350
  1264.  
  1265. *-----------LOAD A FILE-------------
  1266. * A0 = PTR TO FILE NAME
  1267. * A1 = PTR TO LOCATION
  1268.  
  1269. LOADFILE MOVE.L A1,LFADR
  1270.  
  1271.  CLR -(A7)  ;F_OPEN
  1272.  MOVE.L A0,-(A7)
  1273.  MOVE #$3D,-(A7)
  1274.  TRAP #1
  1275.  ADD #8,A7
  1276.  
  1277.  TST D0
  1278.  BMI EXIT
  1279.  MOVE D0,FHANDLE
  1280.  
  1281.  MOVE.L #COLORS-2,-(A7)  ;F_READ
  1282.  MOVE.L #34,-(A7)
  1283.  MOVE FHANDLE,-(A7)
  1284.  MOVE #$3F,-(A7)
  1285.  TRAP #1
  1286.  ADD #12,A7
  1287.  
  1288.  MOVE.L #DECODE,-(A7)  ;F_READ
  1289.  MOVE.L #32000,-(A7)
  1290.  MOVE FHANDLE,-(A7)
  1291.  MOVE #$3F,-(A7)
  1292.  TRAP #1
  1293.  ADD #12,A7
  1294.  MOVE.L D0,LFSIZE
  1295.  
  1296.  MOVE FHANDLE,-(A7)   ;F_CLOSE
  1297.  MOVE #$3E,-(A7)
  1298.  TRAP #1
  1299.  ADD #4,A7
  1300.  
  1301.  MOVE.L LFSIZE,D0
  1302.  MOVE.L LFADR,A0
  1303.  MOVE.L #DECODE,A1
  1304.  
  1305. *****************************************************
  1306. * DEGAS COMPRESSED PICTURE DECODER (LOW RESOLUTION) *
  1307. * D0 - # OF BYTES TO DECOMPRESS                     *
  1308. * A0 - DESTINATION ADDRESS                          *
  1309. * A1 - SOURCE ADDRESS                               *
  1310. *****************************************************
  1311.  
  1312.  CLR D3
  1313.  MOVE #200,D6
  1314. DEGAS_LINE MOVE #4,D5
  1315.  SUB #1,D6
  1316.  TST D6
  1317.  BEQ DEGAS_DONE
  1318.  
  1319. DEGAS_COLOR MOVE #40,D4
  1320. DEGAS_LOOP CMP.L #1,D0
  1321.  BLT DEGAS_DONE
  1322.  
  1323.  SUB.L #1,D0
  1324.  CLR.L D1
  1325.  MOVE.B (A1)+,D1
  1326.  CMP.B #128,D1
  1327.  BEQ DEGAS_LOOP
  1328.  
  1329.  TST.B D1
  1330.  BMI DEGAS_DUPLICATE
  1331.  
  1332. DEGAS_COPYLP MOVE.B (A1)+,(A0)
  1333.  SUB.L #1,D0
  1334.  SUB #1,D4
  1335.  
  1336.  TST D3
  1337.  BNE DEGAS_COPYLP2
  1338.  ADD #1,A0
  1339.  MOVE #1,D3
  1340.  JMP DEGAS_COPYRCRS
  1341. DEGAS_COPYLP2 ADD #7,A0
  1342.  CLR D3
  1343.  
  1344. DEGAS_COPYRCRS DBF D1,DEGAS_COPYLP
  1345.  TST D4
  1346.  BNE DEGAS_LOOP
  1347.  SUB #158,A0
  1348.  SUB #1,D5
  1349.  TST D5
  1350.  BNE DEGAS_COLOR
  1351.  ADD #152,A0
  1352.  JMP DEGAS_LINE
  1353.  
  1354. * "After three days without programming, life becomes meaningless."
  1355.  
  1356. DEGAS_DUPLICATE MULS #-1,D1
  1357.  AND #$FF,D1
  1358.  MOVE.B (A1)+,D2
  1359.  SUB.L #1,D0
  1360.  
  1361. DEGAS_DUPLP MOVE.B D2,(A0)
  1362.  
  1363.  SUB #1,D4
  1364.  
  1365.  TST D3
  1366.  BNE DEGAS_DUPLP2
  1367.  ADD #1,A0
  1368.  MOVE #1,D3
  1369.  JMP DEGAS_DUPRCRS
  1370. DEGAS_DUPLP2 ADD #7,A0
  1371.  CLR D3
  1372.  
  1373. DEGAS_DUPRCRS DBF D1,DEGAS_DUPLP
  1374.  
  1375.  TST D4
  1376.  BNE DEGAS_LOOP
  1377.  SUB #158,A0
  1378.  SUB #1,D5
  1379.  TST D5
  1380.  BNE DEGAS_COLOR
  1381.  ADD #152,A0
  1382.  JMP DEGAS_LINE
  1383.  
  1384. DEGAS_DONE RTS
  1385.  
  1386. *-------------EXIT-------------
  1387.  
  1388. EXIT JSR DEINIT
  1389.  
  1390.  MOVE OLD_REZ,-(A7)  ;FORCE LOW REZ
  1391.  MOVE.L #-1,-(A7)
  1392.  MOVE.L #-1,-(A7)
  1393.  MOVE #5,-(A7)
  1394.  TRAP #14
  1395.  ADD #10,A7
  1396.  
  1397.  MOVE.L #OLD_COLORS,-(A7)  ;SET COLOR PALETTE
  1398.  MOVE #6,-(A7)
  1399.  TRAP #14
  1400.  ADD.L #6,A7
  1401.  
  1402.  DC $A009
  1403.  
  1404.  CLR -(A7)
  1405.  TRAP #1
  1406.  
  1407. FNAME1 DC.B 'CLOWNS.PC1',0
  1408. FNAME2 DC.B 'BACKGRND.PC1',0
  1409. FNAME3 DC.B 'MEN.PC1',0
  1410. FNAME4 DC.B 'MESSAGES.PC1',0
  1411. FNAME5 DC.B 'TITLE.PC1',0
  1412.  EVEN
  1413.  
  1414. WAIT_KEY MOVE #7,-(A7)
  1415.  TRAP #1
  1416.  ADD.L #2,A7
  1417.  RTS
  1418.  
  1419. *---------------BALLOON COLLISSION DETECT--------------*
  1420.  
  1421. POP_BALLOONS LEA SWITCH,A2
  1422.  LEA XPOS,A3
  1423.  MOVE.L #BAL_PER_ROW-1,D5
  1424.  
  1425.  CLR.L D6
  1426.  CMP #44,CLOWNY
  1427.  BLT POP_L2
  1428.  CMP #70,CLOWNY
  1429.  BLE POP_TEST
  1430.  
  1431. POP_L2 ADD #BAL_PER_ROW*2,A2
  1432.  ADD #BAL_PER_ROW*2,A3
  1433.  MOVE #1,D6
  1434.  
  1435.  CMP #104,CLOWNY
  1436.  BLT POP_L3
  1437.  CMP #130,CLOWNY
  1438.  BLE POP_TEST
  1439.  
  1440. POP_L3 ADD #BAL_PER_ROW*2,A2
  1441.  ADD #BAL_PER_ROW*2,A3
  1442.  MOVE #2,D6
  1443.  
  1444.  CMP #74,CLOWNY
  1445.  BLT POP_DONE
  1446.  CMP #100,CLOWNY
  1447.  BGT POP_DONE
  1448.  
  1449. POP_TEST TST (A2)
  1450.  BEQ POP_RCRS
  1451.  
  1452.  CMP #16,(A3)
  1453.  BLT POP_RCRS
  1454.  CMP #135,(A3)
  1455.  BGT POP_RCRS
  1456.  
  1457.  MOVE CLOWNX,D0
  1458.  CMP (A3),D0
  1459.  BLT POP_RCRS
  1460.  SUB #10,D0
  1461.  CMP (A3),D0
  1462.  BGT POP_RCRS
  1463.  
  1464.  CLR.L D0        ;Clear one popped balloon
  1465.  MOVE (A3),D0
  1466.  AND #$FFF8,D0
  1467.  MOVE.L SCREEN,D1
  1468.  ADD.L #44*160,D1
  1469.  TST D6
  1470.  BEQ POP_CLRIT
  1471.  ADD.L #60*160,D1
  1472.  CMP #1,D6
  1473.  BEQ POP_CLRIT
  1474.  SUB.L #30*160,D1
  1475. POP_CLRIT ADD.L D1,D0
  1476.  MOVE.L D0,A1
  1477.  JSR POP_IT
  1478.  JSR POP_SOUND
  1479.  
  1480.  CLR (A2)
  1481.  CLR (A3)
  1482.  
  1483.  TST D6
  1484.  BNE POP_2NDLVL
  1485.  
  1486.  MOVE #25,D0
  1487.  JSR SCORED
  1488.  
  1489.  SUB #1,POP_COUNT1
  1490.  TST POP_COUNT1
  1491.  BNE POP_RCRS
  1492.  TST POP_COUNT2
  1493.  BEQ POP_ENDL1
  1494.  
  1495.  LEA FLIP1,A0       ;Refill the first row of balloons
  1496.  ADD #7040,A0
  1497.  MOVE.L SCREEN,A1
  1498.  ADD #7040,A1
  1499.  MOVE #1039,D0
  1500. POP_FILL1 MOVE.L (A0)+,(A1)+
  1501.  DBF D0,POP_FILL1
  1502.  
  1503.  MOVE #BAL_PER_ROW,POP_COUNT1
  1504.  LEA XPOS,A0
  1505.  LEA DELAY,A1
  1506.  LEA SWITCH,A2
  1507.  MOVE #BAL_PER_ROW-1,D0
  1508.  MOVE #18,D1
  1509. POP_INT1 CLR (A0)+
  1510.  MOVE D1,(A1)+
  1511.  MOVE #1,(A2)+
  1512.  ADD #22,D1
  1513.  DBF D0,POP_INT1
  1514.  JMP POP_RCRS
  1515.  
  1516. POP_ENDL1 TST ATTRACT_MODE
  1517.  BNE DOTITLE
  1518.  MOVE #2,D0  ;Bonus of 1000 Points!
  1519.  JSR DOMESSAGE
  1520.  MOVE #1000,D0
  1521.  JSR SCORED
  1522.  JSR RMUSIC
  1523.  MOVE.L #1,D0
  1524.  JSR START_MUSIC
  1525.  JSR START_BALLOONS
  1526.  JSR UN_PLOT_CLOWN
  1527.  
  1528. MAIN4 MOVE VCOUNT,D0
  1529. MAIN3 ADD #1,RNDVAL
  1530.  CMP VCOUNT,D0
  1531.  BEQ MAIN3
  1532.  JSR UN_PLOT_CLOWN
  1533.  JSR PLOT_MEN
  1534.  JSR PLOT_CLOWN
  1535.  JSR MOVE_MEN
  1536.  JSR MUSIC
  1537.  TST MUSTAT
  1538.  BNE MAIN4
  1539.  MOVE #5,D0
  1540.  JSR DOMESSAGE
  1541.  JMP POP_DONE
  1542.  
  1543. POP_2NDLVL CMP #1,D6
  1544.  BEQ POP_3RDLVL
  1545.  
  1546.  MOVE #15,D0
  1547.  JSR SCORED
  1548.  
  1549.  SUB #1,POP_COUNT2
  1550.  TST POP_COUNT2
  1551.  BNE POP_RCRS
  1552.  TST POP_COUNT3
  1553.  BEQ POP_ENDL2
  1554.  
  1555.  LEA FLIP1,A0       ;Refill the second row of balloons
  1556.  ADD #11840,A0
  1557.  MOVE.L SCREEN,A1
  1558.  ADD #11840,A1
  1559.  MOVE #1039,D0
  1560. POP_FL3 MOVE.L (A0)+,(A1)+
  1561.  DBF D0,POP_FL3
  1562.  
  1563.  MOVE #BAL_PER_ROW,POP_COUNT2
  1564.  LEA XPOS,A0
  1565.  ADD #BAL_PER_ROW*4,A0
  1566.  LEA DELAY,A1
  1567.  ADD #BAL_PER_ROW*4,A1
  1568.  LEA SWITCH,A2
  1569.  ADD #BAL_PER_ROW*4,A2
  1570.  MOVE #BAL_PER_ROW-1,D0
  1571.  MOVE #45,D1
  1572. POP_INT2 MOVE #144,(A0)+
  1573.  MOVE D1,(A1)+
  1574.  MOVE #1,(A2)+
  1575.  ADD #24,D1
  1576.  DBF D0,POP_INT2
  1577.  JMP POP_RCRS
  1578.  
  1579. POP_ENDL2 TST ATTRACT_MODE
  1580.  BNE POP_DONE
  1581.  MOVE #1,D0    ;Bonus of 500 Points
  1582.  JSR DOMESSAGE
  1583.  MOVE #500,D0
  1584.  JSR SCORED
  1585.  JSR RMUSIC
  1586.  MOVE.L #4,D0
  1587.  JSR START_MUSIC
  1588.  JMP MAIN4
  1589.  
  1590. POP_3RDLVL MOVE #10,D0
  1591.  JSR SCORED
  1592.  
  1593.  SUB #1,POP_COUNT3
  1594.  TST POP_COUNT3
  1595.  BNE POP_RCRS
  1596.  
  1597.  TST ATTRACT_MODE
  1598.  BNE POP_DONE
  1599.  CLR D0        ;Bonus of 100 Points
  1600.  JSR DOMESSAGE
  1601.  MOVE #100,D0
  1602.  JSR SCORED
  1603.  JSR RMUSIC
  1604.  MOVE.L #3,D0
  1605.  JSR START_MUSIC
  1606.  JMP MAIN4
  1607.  
  1608. POP_RCRS ADD #2,A2
  1609.  ADD #2,A3
  1610.  DBF D5,POP_TEST
  1611.  
  1612. POP_DONE RTS
  1613.  
  1614. POP_IT CLR.L (A1)+
  1615.  CLR.L (A1)+
  1616.  CLR.L (A1)+
  1617.  CLR.L (A1)+
  1618.  ADD #160-16,A1
  1619.  CLR.L (A1)+
  1620.  CLR.L (A1)+
  1621.  CLR.L (A1)+
  1622.  CLR.L (A1)+
  1623.  ADD #160-16,A1
  1624.  CLR.L (A1)+
  1625.  CLR.L (A1)+
  1626.  CLR.L (A1)+
  1627.  CLR.L (A1)+
  1628.  ADD #160-16,A1
  1629.  CLR.L (A1)+
  1630.  CLR.L (A1)+
  1631.  CLR.L (A1)+
  1632.  CLR.L (A1)+
  1633.  ADD #160-16,A1
  1634.  CLR.L (A1)+
  1635.  CLR.L (A1)+
  1636.  CLR.L (A1)+
  1637.  CLR.L (A1)+
  1638.  ADD #160-16,A1
  1639.  CLR.L (A1)+
  1640.  CLR.L (A1)+
  1641.  CLR.L (A1)+
  1642.  CLR.L (A1)+
  1643.  ADD #160-16,A1
  1644.  CLR.L (A1)+
  1645.  CLR.L (A1)+
  1646.  CLR.L (A1)+
  1647.  CLR.L (A1)+
  1648.  ADD #160-16,A1
  1649.  CLR.L (A1)+
  1650.  CLR.L (A1)+
  1651.  CLR.L (A1)+
  1652.  CLR.L (A1)+
  1653.  ADD #160-16,A1
  1654.  CLR.L (A1)+
  1655.  CLR.L (A1)+
  1656.  CLR.L (A1)+
  1657.  CLR.L (A1)+
  1658.  ADD #160-16,A1
  1659.  CLR.L (A1)+
  1660.  CLR.L (A1)+
  1661.  CLR.L (A1)+
  1662.  CLR.L (A1)+
  1663.  ADD #160-16,A1
  1664.  CLR.L (A1)+
  1665.  CLR.L (A1)+
  1666.  CLR.L (A1)+
  1667.  CLR.L (A1)+
  1668.  ADD #160-16,A1
  1669.  CLR.L (A1)+
  1670.  CLR.L (A1)+
  1671.  CLR.L (A1)+
  1672.  CLR.L (A1)+
  1673.  ADD #160-16,A1
  1674.  CLR.L (A1)+
  1675.  CLR.L (A1)+
  1676.  CLR.L (A1)+
  1677.  CLR.L (A1)+
  1678.  ADD #160-16,A1
  1679.  CLR.L (A1)+
  1680.  CLR.L (A1)+
  1681.  CLR.L (A1)+
  1682.  CLR.L (A1)+
  1683.  ADD #160-16,A1
  1684.  CLR.L (A1)+
  1685.  CLR.L (A1)+
  1686.  CLR.L (A1)+
  1687.  CLR.L (A1)+
  1688.  ADD #160-16,A1
  1689.  CLR.L (A1)+
  1690.  CLR.L (A1)+
  1691.  CLR.L (A1)+
  1692.  CLR.L (A1)+
  1693.  ADD #160-16,A1
  1694.  CLR.L (A1)+
  1695.  CLR.L (A1)+
  1696.  CLR.L (A1)+
  1697.  CLR.L (A1)+
  1698.  ADD #160-16,A1
  1699.  CLR.L (A1)+
  1700.  CLR.L (A1)+
  1701.  CLR.L (A1)+
  1702.  CLR.L (A1)+
  1703.  ADD #160-16,A1
  1704.  CLR.L (A1)+
  1705.  CLR.L (A1)+
  1706.  CLR.L (A1)+
  1707.  CLR.L (A1)+
  1708.  ADD #160-16,A1
  1709.  CLR.L (A1)+
  1710.  CLR.L (A1)+
  1711.  CLR.L (A1)+
  1712.  CLR.L (A1)+
  1713.  ADD #160-16,A1
  1714.  CLR.L (A1)+
  1715.  CLR.L (A1)+
  1716.  CLR.L (A1)+
  1717.  CLR.L (A1)+
  1718.  ADD #160-16,A1
  1719.  CLR.L (A1)+
  1720.  CLR.L (A1)+
  1721.  CLR.L (A1)+
  1722.  CLR.L (A1)+
  1723.  ADD #160-16,A1
  1724.  CLR.L (A1)+
  1725.  CLR.L (A1)+
  1726.  CLR.L (A1)+
  1727.  CLR.L (A1)+
  1728.  ADD #160-16,A1
  1729.  CLR.L (A1)+
  1730.  CLR.L (A1)+
  1731.  CLR.L (A1)+
  1732.  CLR.L (A1)+
  1733.  ADD #160-16,A1
  1734.  CLR.L (A1)+
  1735.  CLR.L (A1)+
  1736.  CLR.L (A1)+
  1737.  CLR.L (A1)+
  1738.  ADD #160-16,A1
  1739.  CLR.L (A1)+
  1740.  CLR.L (A1)+
  1741.  CLR.L (A1)+
  1742.  CLR.L (A1)+
  1743.  RTS
  1744.  
  1745. *--------------Initialize all the balloons-----------------*
  1746.  
  1747. START_BALLOONS CLR TIMER
  1748.  MOVE #BAL_PER_ROW,D0
  1749.  MOVE D0,POP_COUNT1
  1750.  MOVE D0,POP_COUNT2
  1751.  MOVE D0,POP_COUNT3
  1752.  
  1753.  LEA SWITCH,A0
  1754.  MOVE #BAL_PER_ROW*3,D0
  1755.  SUB #1,D0
  1756. INIT0 MOVE #1,(A0)+
  1757.  DBF D0,INIT0
  1758.  
  1759.  LEA XPOS,A0
  1760.  LEA DELAY,A1
  1761.  MOVE #BAL_PER_ROW-1,D0
  1762.  MOVE #18,D1
  1763. INIT1 CLR (A0)+
  1764.  MOVE D1,(A1)+
  1765.  ADD #22,D1
  1766.  DBF D0,INIT1
  1767.  
  1768.  MOVE #BAL_PER_ROW-1,D0
  1769.  MOVE #30,D1
  1770. INIT2 CLR (A0)+
  1771.  MOVE D1,(A1)+
  1772.  ADD #26,D1
  1773.  DBF D0,INIT2
  1774.  
  1775.  MOVE #BAL_PER_ROW-1,D0
  1776.  MOVE #45,D1
  1777. INIT3 MOVE #144,(A0)+
  1778.  MOVE D1,(A1)+
  1779.  ADD #24,D1
  1780.  DBF D0,INIT3
  1781.  RTS
  1782.  
  1783. *-------------Print a message-------------*
  1784.  
  1785. DOMESSAGE AND.L #$FF,D0
  1786.  MULU #160*16,D0
  1787.  ADD.L #MESSAGES+16,D0
  1788.  MOVE.L D0,A0
  1789.  
  1790.  MOVE.L SCREEN,A1
  1791.  ADD #135*160,A1
  1792.  ADD #16,A1
  1793.  
  1794.  MOVE.L #16,D0
  1795. DOM_100 MOVE #31,D1
  1796. DOM_101 MOVE.L (A0)+,(A1)+
  1797.  DBF D1,DOM_101
  1798.  ADD #160-128,A0
  1799.  ADD #160-128,A1
  1800.  DBF D0,DOM_100
  1801.  RTS
  1802.  
  1803. *---------------Scoring--------------*
  1804.  
  1805. SCORED AND.L #$FFFF,D0
  1806.  MOVE.L D0,D1
  1807.  ADD.L POINTS,D0
  1808.  MOVE.L D0,POINTS
  1809.  
  1810.  ADD.L BONUS,D1
  1811.  MOVE.L D1,BONUS
  1812.  CMP.L #10000,D1
  1813.  BGT BUTUSCREWT
  1814.  
  1815.  LEA MESSAGES,A0
  1816.  
  1817.  MOVE.L SCREEN,A4
  1818.  ADD #160*28,A4
  1819.  
  1820.  AND.L #$FFFF,D0
  1821.  DIVU #10000,D0
  1822.  MOVE.L D0,D1
  1823.  AND.L #15,D0
  1824.  MULU #1280,D0
  1825.  ADD.L #MESSAGES,D0
  1826.  MOVE.L D0,A0
  1827.  MOVE.L A4,A1
  1828.  JSR SCOR_IT
  1829.  
  1830.  SWAP D1
  1831.  AND.L #$FFFF,D1
  1832.  DIVU #1000,D1
  1833.  MOVE.L D1,D0
  1834.  AND.L #15,D1
  1835.  MULU #1280,D1
  1836.  ADD.L #MESSAGES,D1
  1837.  MOVE.L D1,A0
  1838.  MOVE.L A4,A1
  1839.  ADD #1,A1
  1840.  JSR SCOR_IT
  1841.  
  1842.  SWAP D0
  1843.  AND.L #$FFFF,D0
  1844.  DIVU #100,D0
  1845.  MOVE.L D0,D1
  1846.  AND.L #15,D0
  1847.  MULU #1280,D0
  1848.  ADD.L #MESSAGES,D0
  1849.  MOVE.L D0,A0
  1850.  MOVE.L A4,A1
  1851.  ADD #8,A1
  1852.  JSR SCOR_IT
  1853.  
  1854.  SWAP D1
  1855.  AND.L #$FFFF,D1
  1856.  DIVU #10,D1
  1857.  MOVE.L D1,D0
  1858.  AND.L #15,D1
  1859.  MULU #1280,D1
  1860.  ADD.L #MESSAGES,D1
  1861.  MOVE.L D1,A0
  1862.  MOVE.L A4,A1
  1863.  ADD #9,A1
  1864.  JSR SCOR_IT
  1865.  
  1866.  SWAP D0
  1867.  AND.L #15,D0
  1868.  MULU #1280,D0
  1869.  ADD.L #MESSAGES,D0
  1870.  MOVE.L D0,A0
  1871.  MOVE.L A4,A1
  1872.  ADD #16,A1
  1873.  JSR SCOR_IT
  1874.  
  1875.  MOVE.L SCREEN,A4
  1876.  ADD #160*28,A4
  1877.  ADD #144,A4
  1878.  
  1879.  MOVE LIVES,D1
  1880.  BEQ SCOREND
  1881.  
  1882.  LEA MESSAGES+12800,A0
  1883.  MOVE.L A4,A1
  1884.  JSR SCOR_IT
  1885.  
  1886.  CMP #1,D1
  1887.  BEQ SCOREND
  1888.  
  1889.  LEA MESSAGES+12800,A0
  1890.  MOVE.L A4,A1
  1891.  ADD #1,A1
  1892.  JSR SCOR_IT
  1893.  
  1894.  CMP #2,D1
  1895.  BEQ SCOREND
  1896.  
  1897.  LEA MESSAGES+12800,A0
  1898.  MOVE.L A4,A1
  1899.  ADD #8,A1
  1900.  JSR SCOR_IT
  1901.  
  1902.  CMP #3,D1
  1903.  BEQ SCOREND
  1904.  
  1905.  LEA MESSAGES+12800,A0
  1906.  MOVE.L A4,A1
  1907.  ADD #9,A1
  1908.  
  1909. SCOR_IT MOVE #7,D2
  1910. SCOR_100 MOVE.B (A0),(A1)
  1911.  MOVE.B 2(A0),2(A1)
  1912.  MOVE.B 4(A0),4(A1)
  1913.  MOVE.B 6(A0),6(A1)
  1914.  ADD #160,A0
  1915.  ADD #160,A1
  1916.  DBF D2,SCOR_100
  1917.  
  1918. SCOREND RTS
  1919.  
  1920. BUTUSCREWT CLR.L BONUS
  1921.  JSR RMUSIC
  1922.  MOVE #5,D0
  1923.  JSR START_MUSIC
  1924.  MOVE #3,D0
  1925.  JSR DOMESSAGE
  1926.  ADD #1,LIVES
  1927.  CLR D0
  1928.  JSR SCORED
  1929.  
  1930. BUTUS1 MOVE VCOUNT,D0
  1931. BUTUS2 ADD #1,RNDVAL
  1932.  CMP VCOUNT,D0
  1933.  BEQ BUTUS2
  1934.  JSR UN_PLOT_CLOWN
  1935.  JSR PLOT_MEN
  1936.  JSR PLOT_CLOWN
  1937.  JSR MOVE_MEN
  1938.  JSR MUSIC
  1939.  TST MUSTAT
  1940.  BNE BUTUS1
  1941.  MOVE #5,D0
  1942.  JMP DOMESSAGE
  1943.  
  1944. **********************
  1945. * MONKEYS & BALLOONS *
  1946. *   MUSIC GENERATOR  *
  1947. *        68000       *
  1948. *       6/14/88      *
  1949. **********************
  1950.  
  1951. RMUSIC CLR D0  ;RESET MUSIC GENERATOR
  1952.  MOVE #8,D1
  1953.  JSR DOSOUND
  1954.  CLR D0
  1955.  MOVE #9,D1
  1956.  JSR DOSOUND
  1957.  CLR D0
  1958.  MOVE #10,D1
  1959.  JSR DOSOUND
  1960.  
  1961.  MOVE #$0100,D0
  1962.  MOVE D0,MSDLY1
  1963.  MOVE D0,MSDLY2
  1964.  MOVE D0,MSDLY3
  1965.  CLR VOICE1
  1966.  CLR VOICE2
  1967.  CLR VOICE3
  1968.  CLR MUSTAT
  1969.  MOVE #TEMPO,MUSDLY
  1970.  RTS
  1971.  
  1972. *----------Start playing music---------*
  1973.  
  1974. START_MUSIC MULU #12,D0
  1975.  ADD.L #MUSTBL,D0
  1976.  MOVE.L D0,A0
  1977.  MOVE.L (A0)+,MSPTR1
  1978.  MOVE.L (A0)+,MSPTR2
  1979.  MOVE.L (A0)+,MSPTR3
  1980.  
  1981.  MOVE #248,D0  ;Turn on all tone voices
  1982.  MOVE #7,D1
  1983.  JSR DOSOUND
  1984.  MOVE #10,D0  ;Set volumes
  1985.  MOVE #8,D1
  1986.  JSR DOSOUND
  1987.  MOVE #10,D0
  1988.  MOVE #9,D1
  1989.  JSR DOSOUND
  1990.  MOVE #10,D0
  1991.  MOVE #10,D1
  1992.  JSR DOSOUND
  1993.  
  1994.  MOVE #1,MUSTAT
  1995.  RTS
  1996.  
  1997. MUSTBL DC.L MUS1V1,MUS1V2,MUS1V4
  1998.  DC.L MUS2V1,MUS2V2,MUS2V4
  1999.  DC.L MUS3V1,MUS3V2,MUS3V4
  2000.  DC.L MUS4V1,MUS4V2,MUS4V3
  2001.  DC.L MUS5V1,MUS5V2,MUS5V4
  2002.  DC.L MUS6V1,MUS6V2,MUS6V4
  2003.  
  2004. *----------Play some music---------*
  2005.  
  2006. MUSIC TST MUSTAT    ;MUSIC BEING PLAYED
  2007.  BEQ NOMUSIC
  2008.  
  2009.  SUB #1,MUSDLY ;DELAY FINISHED
  2010.  TST MUSDLY
  2011.  BNE NOMUSIC
  2012.  MOVE #TEMPO,MUSDLY
  2013.  
  2014.  LEA MSDLY1,A4
  2015.  LEA VOICE1,A3
  2016.  LEA MSPTR1,A2
  2017.  CLR D4
  2018.  
  2019. MUS1 CLR.L D0
  2020.  MOVE.B (A4),D0
  2021.  SUB #1,D0
  2022.  TST D0
  2023.  BEQ MUS1B
  2024.  MOVE.B D0,(A4)
  2025.  JMP MUS2
  2026.  
  2027. MUS1B CLR (A3)  ;VOICE1
  2028.  CLR D0
  2029.  MOVE D4,D1
  2030.  JSR DOSOUND
  2031.  CLR D0
  2032.  MOVE D4,D1
  2033.  ADD #1,D1
  2034.  JSR DOSOUND
  2035.  
  2036.  MOVE.B 1(A4),D0
  2037.  BEQ MUS1C
  2038.  SUB #1,D0
  2039.  MOVE.B D0,1(A4)
  2040.  JMP MUS2
  2041.  
  2042. MUS1C MOVE.L (A2),A0
  2043.  CMP #MEOF,(A0)
  2044.  BNE MFM1
  2045.  
  2046.  JSR RMUSIC
  2047.  JMP NOMUSIC
  2048.  
  2049. MFM1 MOVE (A0),D0
  2050.  MOVE D0,(A3)  ;VOICE1
  2051.  AND #$FF,D0
  2052.  MOVE D4,D1
  2053.  JSR DOSOUND
  2054.  
  2055.  MOVE.B (A3),D0
  2056.  MOVE D4,D1
  2057.  ADD #1,D1
  2058.  JSR DOSOUND
  2059.  
  2060.  CLR.L D0
  2061.  MOVE 2(A0),D0
  2062.  MOVE.B D0,1(A4)  ;MSDLY1+1
  2063.  LSL #2,D0
  2064.  MOVE.B D0,(A4) ;MSDLY1
  2065.  
  2066.  ADD.L #4,(A2)
  2067.  
  2068. MUS2 ADD #4,A2
  2069.  ADD #2,A3
  2070.  ADD #2,A4
  2071.  
  2072.  ADD #2,D4
  2073.  CMP #6,D4
  2074.  BNE MUS1
  2075.  RTS
  2076.  
  2077. DOSOUND MOVEM.L D0-D4/A0-A4,-(A7)
  2078.  OR #$80,D1
  2079.  MOVE D1,-(A7)  ;Reg #
  2080.  MOVE D0,-(A7)         ;Data
  2081.  MOVE #28,-(A7)
  2082.  TRAP #14
  2083.  ADD #6,A7
  2084.  MOVEM.L (A7)+,D0-D4/A0-A4
  2085.  
  2086. NOMUSIC RTS
  2087.  
  2088. MC1 = 955
  2089. MDF1 = 901
  2090. MD1 = 851
  2091. MEF1 = 302
  2092. ME1 = 758
  2093. MF1 = 715
  2094. MGF1 = 675
  2095. MG1 = 637
  2096. MAF1 = 601
  2097. MA1 = 568
  2098. MBF1 = 536
  2099. MB1 = 506
  2100.  
  2101. MC2 = 477
  2102. MDF2 = 450
  2103. MD2 = 425
  2104. MEF2 = 401
  2105. ME2 = 379
  2106. MF2 = 357
  2107. MGF2 = 337
  2108. MG2 = 318
  2109. MAF2 = 300
  2110. MA2 = 284
  2111. MBF2 = 268
  2112. MB2 = 253
  2113.  
  2114. MC3 = 238
  2115. MDF3 = 225
  2116. MD3 = 212
  2117. MEF3 = 200
  2118. ME3 = 189
  2119. MF3 = 178
  2120. MGF3 = 168
  2121. MG3 = 159
  2122. MAF3 = 150
  2123. MA3 = 142
  2124. MBF3 = 134
  2125. MB3 = 126
  2126.  
  2127. MC4 = 119
  2128. MEOF = $FF
  2129.  
  2130. *** ORIGINAL RAGS BY SCOTT JOPLIN ***
  2131. ;       ARRANGED BY FRANK COHEN
  2132.  
  2133. MUS1V1 DC MC4,1,MC4,2,MC4,1,MC4,2,MC4,2
  2134.  DC MC4,2,MA2,2,MD2,4
  2135.  DC MC3,1,MC3,2,MC3,1,MC3,2,MC3,2
  2136.  DC MC3,2,0,2,0,1,MD3,1,MG3,1,MB3,1
  2137.  DC MD3,1,MG3,1,MB3,1,MD3,2,MB3,1,MD3,1,MB3,1
  2138.  DC MD3,1,MG3,1,MB3,1,MD3,2,MB3,1,MD3,1,MB3,1
  2139.  DC ME3,1,ME3,2,MG3,1,MA3,1,MG3,1,MA3,2
  2140.  DC MB3,4,0,1,MD3,1,MG3,1,MB3,1
  2141.  DC MD3,1,MG3,1,MB3,1,MD3,2,MB3,1,MD3,1,MB3,1
  2142.  DC MD3,1,MG3,1,MB3,1,MD3,2,MB3,1,MD3,1,MB3,1
  2143.  DC MB3,2,MA3,2,MA3,2,MAF3,1,MA3,1
  2144.  DC MB3,1,MA3,2,MGF3,1,ME3,2,MD3,2
  2145.  DC MD3,1,MG3,1,MB3,1,MD3,2,MB3,1,MD3,1,MB3,1
  2146.  DC MD3,1,MG3,1,MB3,1,MD3,2,MB3,1,MD3,1,MB3,1
  2147.  DC ME3,1,ME3,2,MG3,1,MA3,1,MG3,1,MA3,2
  2148.  DC MB3,4,0,2,MB3,2
  2149.  DC ME3,1,MD3,2,MB2,1,MC3,2,MB2,2
  2150.  DC MB2,1,MA2,2,ME2,1,MB2,2,MC2,2
  2151.  DC MB3,1,MA3,2,MB3,1,MC4,1,MB3,1,MA3,2
  2152.  DC MG3,2
  2153.  DC MEOF,MEOF
  2154.  
  2155. MUS1V2 DC ME3,1,ME3,2,ME3,1,MEF3,2,MEF3,2
  2156.  DC MD3,2,0,2,MD2,4
  2157.  DC ME2,1,ME2,2,ME2,1,MEF2,2,MEF2,2
  2158.  DC MD2,2,0,2,0,1,0,2,0,1
  2159.  DC 0,4,0,4
  2160.  DC 0,4,0,4
  2161.  DC 0,1,0,2,ME3,1,ME3,1,ME3,1,MEF3,2
  2162.  DC MD3,4,0,1,0,1,0,2
  2163.  DC 0,2,MD2,2,0,2,MD2,2
  2164.  DC 0,2,MD2,2,0,2,MD2,2
  2165.  DC MDF2,2,MDF2,2,MDF2,2,MC2,1,MC2,1
  2166.  DC MC2,1,MC2,2,MC2,1,MC2,2,MC2,2
  2167.  DC 0,2,MD2,2,0,2,MD2,2
  2168.  DC 0,2,MD2,2,0,2,MD2,2
  2169.  DC 0,1,0,2,ME2,1,ME2,1,ME2,1,ME2,2
  2170.  DC MEF2,4,0,2,MB2,2
  2171.  DC 0,2,MB1,2,0,2,MAF2,2
  2172.  DC 0,2,MC2,2,0,2,MC2,2
  2173.  DC MB2,1,MA2,2,MB2,1,MC3,1,MB2,1,MA2,2
  2174.  DC MG2,2
  2175.  DC MEOF,MEOF
  2176.  
  2177. MUS1V3 DC MA2,1,MA2,2,MA2,1,MA2,2,MA2,2
  2178.  DC MC3,2,0,2,0,4
  2179.  DC MC2,1,MC2,2,MC2,1,MC2,2,MC2,2
  2180.  DC MC2,2,0,2,0,4
  2181.  DC 0,2,MD2,2,0,2,MD2,2
  2182.  DC 0,2,MD2,2,0,2,MD2,2
  2183.  DC 0,2,ME2,2,0,2,MEF2,2
  2184.  DC 0,2,MD2,2,MD1,2,0,2
  2185.  DC 0,4,0,4
  2186.  DC 0,4,0,4
  2187.  DC 0,2,MA1,2,0,2,MA1,2
  2188.  DC 0,4,0,4
  2189.  DC 0,4,0,4
  2190.  DC 0,4,0,4
  2191.  DC 0,2,MC2,2,0,2,MC2,2
  2192.  DC 0,2,MA1,2,MA1,4
  2193.  DC 0,2,MB1,2,0,2,MAF1,2
  2194.  DC 0,2,MC2,2,0,2,MC2,2
  2195.  DC 0,2,MB1,2,0,2,0,2
  2196.  DC MG2,2
  2197.  DC MEOF,MEOF
  2198.  
  2199. MUS1V4 DC MA2,1,MA2,2,MA2,1,MG2,2,MG2,2
  2200.  DC MGF2,2,MA1,2,MD1,4
  2201.  DC MA1,1,MA1,2,MA1,1,MG1,2,MG1,2
  2202.  DC MGF1,2,MA1,2,MD1,4
  2203.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2204.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2205.  DC MC1,2,MG1,2,MC1,2,MG1,2
  2206.  DC MG1,2,MG1,2,MD1,2,0,2
  2207.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2208.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2209.  DC ME1,2,MG1,2,MA1,2,MG1,2
  2210.  DC MD1,1,MGF1,2,MA1,1,MG1,2,MGF1,2
  2211.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2212.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2213.  DC MC1,2,MG1,2,MC1,2,MG1,2
  2214.  DC MB1,2,MGF1,2,MGF1,4
  2215.  DC MAF1,2,ME1,2,ME1,2,ME1,2
  2216.  DC MA1,2,MA1,2,MA1,2,MA1,2
  2217.  DC MD1,2,MG1,2,MD1,2,ME1,1,MGF1,1
  2218.  DC MG1,2
  2219.  DC MEOF,MEOF
  2220.  
  2221. *** INTERMISSION MUSIC ***
  2222.  
  2223. MUS2V1 DC MBF3,1,MB3,2,MBF3,1,MB3,2,MBF3,1,MB3,1
  2224.  DC MGF3,1,MG3,2,ME3,1,ME3,4
  2225.  DC MGF3,1,MG3,2,MGF3,1,MG3,2,MGF3,1,MG3,1
  2226.  DC MDF3,1,MD3,2,MB2,1,MB2,4
  2227.  DC MA2,1,MA2,2,MA2,1,ME3,2,ME3,2
  2228.  DC MD3,1,MG3,2,ME3,1,MD3,1,MB2,1,MG2,2
  2229.  DC MA2,1,MB2,1,MC3,1,MB2,2,MA2,2,MB2,1
  2230.  DC MG2,2,0,2,MG3,4
  2231.  DC MEOF,MEOF
  2232.  
  2233. MUS2V2 DC MGF3,1,MG3,2,MGF3,1,MG3,2,MGF3,1,MG3,1
  2234.  DC MDF3,1,ME3,2,MC3,1,MC3,4
  2235.  DC MDF3,1,ME3,2,MDF3,1,ME3,2,MDF3,1,ME3,1
  2236.  DC MBF2,1,MB2,2,MG2,1,MG2,4
  2237.  DC MG2,1,MG2,2,MG2,1,MA2,2,MA2,2
  2238.  DC MB2,1,0,1,0,2,0,4
  2239.  DC MC2,1,MD2,1,ME2,1,MD2,2,MC2,2,MD2,1
  2240.  DC MB1,2,0,2,MB2,4
  2241.  DC MEOF,MEOF
  2242.  
  2243. MUS2V3 DC 0,2,MD2,2,0,2,MD2,2
  2244.  DC 0,2,ME2,2,0,2,ME2,2
  2245.  DC 0,2,MC2,2,0,2,MC2,2
  2246.  DC 0,2,MD2,2,0,2,MD2,2
  2247.  DC ME2,1,ME2,2,ME2,1,MAF2,2,MAF2,2
  2248.  DC MG2,1,0,1,0,2,0,4
  2249.  DC MA1,4,0,4
  2250.  DC MG1,2,0,2,MG2,4
  2251.  DC MEOF,MEOF
  2252.  
  2253. MUS2V4 DC MG1,2,MB1,2,MD1,2,MB1,2
  2254.  DC MC1,2,MG1,2,MC1,2,MG1,2
  2255.  DC MC1,2,MG1,2,MC1,2,MG1,2
  2256.  DC MG1,2,MB1,2,MD1,2,MB1,2
  2257.  DC MC1,4,MDF1,4
  2258.  DC MD1,2,MG1,2,MG1,4
  2259.  DC MA1,4,MD1,4
  2260.  DC MG1,2,0,2,MG1,4
  2261.  DC MEOF,MEOF
  2262.  
  2263. ***  DEATH MUSIC BY SCOTT JOPLIN
  2264. ***  ARRANGED BY FRANK COHEN
  2265.  
  2266. MUS3V1 DC MC4,1,MA3,1,MGF3,1,MEF3,1,MC3,1,MA2,2,MAF2,1
  2267.  DC MG2,2,MA2,1,MC3,2,MD3,1,ME3,2
  2268.  DC MA2,4,ME3,4
  2269.  DC MC3,4,0,4
  2270.  DC MEOF,MEOF
  2271.  
  2272. MUS3V2 DC MGF1,1,MA1,1,MC1,1,MEF1,1,MF1,1,MA1,2,MAF1,1
  2273.  DC 0,2,ME2,2,0,2,ME2,2
  2274.  DC 0,2,MC2,2,0,2,MB1,2
  2275.  DC MG1,4,0,4
  2276.  DC MEOF,MEOF
  2277.  
  2278. MUS3V3 DC 0,4,0,4
  2279.  DC 0,2,MC2,2,0,2,MC2,2
  2280.  DC 0,2,MA1,2,0,2,MG1,2
  2281.  DC MG1,4,0,4
  2282.  
  2283. MUS3V4 DC 0,4,0,4
  2284.  DC MG1,2,MG1,2,MA1,2,MA1,2
  2285.  DC MD1,2,MGF1,2,MG1,2,MF1,2
  2286.  DC ME1,4,0,4
  2287.  
  2288. *** BOTTOM LINE FINISHED MUSIC
  2289. *** ARRANGED BY FRANK COHEN 5/9/82
  2290.  
  2291. MUS4V1 DC MB1,1,MD2,1,MF2,1,MAF2,1,MB2,1,MB2,2,MB2,2
  2292.  DC MD3,1,MF3,1,MAF3,1,MB3,2,0,2
  2293.  DC MC4,1,MAF3,1,MEF3,1,MC3,2,MAF2,1,MC2,1,MEF2,1
  2294.  DC MBF2,1,MBF2,2,MAF2,3
  2295.  DC MEOF,MEOF
  2296.  
  2297. MUS4V2 DC MD1,1,MF1,1,MAF1,1,MB1,1,MD2,1,MD2,2,MD2,1
  2298.  DC MD2,1,MF2,1,MAF2,1,MB2,1,MD3,2,0,2
  2299.  DC MEF3,2,0,2,0,4
  2300.  DC MG2,1,MG2,2,MEF2,3
  2301.  
  2302. MUS4V3 DC 0,4,0,4
  2303.  DC 0,4,0,4
  2304.  DC 0,4,0,4
  2305.  DC 0,4,0,4
  2306.  
  2307. MUS4V4 DC 0,4,0,4
  2308.  DC 0,4,0,4
  2309.  DC MAF2,2,0,2,0,4
  2310.  DC MEF1,2,MEF1,2,MAF1,2
  2311.  
  2312. *** MIDDLE LINE FINISHED MUSIC
  2313.  
  2314. MUS5V1 DC MBF2,1,MC3,1,MBF2,1,MG2,1,MBF2,1,MC3,1,MBF2,1,MG2,1
  2315.  DC MBF2,1,MD3,2,MBF2,1,MD3,4
  2316.  DC MG2,1,MD3,3,MA2,1,MC3,2
  2317.  DC MBF2,2,MF3,1,MG3,1,MA3,1,MBF3,2
  2318.  DC MEOF,MEOF
  2319.  
  2320. MUS5V2 DC MEF1,2,MF1,2,MG1,2,MA1,2
  2321.  DC MBF1,2,MD2,2,MF1,2,MB1,2
  2322.  DC MC1,2,MBF1,2,MF1,2,MEF2,2
  2323.  DC MD2,2,MEF2,2,MD2,2
  2324.  DC 0,4,0,4
  2325.  
  2326. MUS5V3 DC 0,4,0,4
  2327.  DC 0,2,MF1,2,0,2,MF1,2
  2328.  DC 0,4,0,4
  2329.  DC 0,2,MC2,2,0,2
  2330.  DC 0,4,0,4
  2331.  
  2332. MUS5V4 DC MEF2,1,MF2,1,MG2,1,MA2,1
  2333.  DC 0,2,MBF1,2,0,2,MF1,2
  2334.  DC 0,2,MG1,2,0,2,MA1,2
  2335.  DC MBF1,2,MF1,2,MBF1,2
  2336.  DC 0,4,0,4
  2337.  
  2338. *** BONUS MAN MUSIC ***
  2339.  
  2340. MUS6V1 DC MA3,1,MG3,2,MG3,2,MA3,1,MG3,2
  2341.  DC MC4,2,0,2,MC1,2
  2342.  DC MEOF,MEOF
  2343.  
  2344. MUS6V2 DC MF3,1,MF3,2,MF3,2,0,1,0,2
  2345.  DC ME3,2,0,2,ME2,2
  2346.  
  2347. MUS6V3 DC MB2,1,MB2,2,MB2,2,0,1,0,2
  2348.  DC MC2,2,0,2,MG1,2
  2349.  
  2350. MUS6V4 DC MG1,2,MF1,2,MB1,2,MG1,2
  2351.  DC MC1,2,0,2,MC3,2
  2352.  
  2353. *------------SOUND EFFECTS--------------*
  2354.  
  2355. SOUNDS TST ATTRACT_MODE
  2356.  BNE SOUND_END
  2357.  TST SOUND_COUNT
  2358.  BEQ SOUND_END
  2359.  
  2360.  SUB #1,SOUND_COUNT
  2361.  TST SOUND_COUNT
  2362.  BNE SOUND_END
  2363.  
  2364.  MOVE #255,D0
  2365.  MOVE #7,D1
  2366.  JSR DOSOUND
  2367.  
  2368. SOUND_END RTS
  2369.  
  2370. HIT_WALL TST SOUND_COUNT
  2371.  BNE SOUND_END
  2372.  TST ATTRACT_MODE
  2373.  BNE SOUND_END
  2374.  TST MUSTAT
  2375.  BNE SOUND_END
  2376.  MOVE #5,SOUND_COUNT
  2377.  MOVE #160,D0
  2378.  MOVE #0,D1
  2379.  JSR DOSOUND
  2380.  MOVE #11,D0
  2381.  MOVE #1,D1
  2382.  JSR DOSOUND
  2383.  MOVE #210,D0
  2384.  MOVE #6,D1
  2385.  JSR DOSOUND
  2386.  MOVE #$F6,D0  ;Turn on all tone voices
  2387.  MOVE #7,D1
  2388.  JSR DOSOUND
  2389.  MOVE #10,D0  ;Set volumes
  2390.  MOVE #8,D1
  2391.  JMP DOSOUND
  2392.  
  2393. POP_SOUND TST SOUND_COUNT
  2394.  BNE SOUND_END
  2395.  TST ATTRACT_MODE
  2396.  BNE SOUND_END
  2397.  TST MUSTAT
  2398.  BNE SOUND_END
  2399.  MOVEM.L D0-D7/A0-A4,-(A7)
  2400.  MOVE #2,SOUND_COUNT
  2401.  MOVE #100,D0
  2402.  MOVE #0,D1
  2403.  JSR DOSOUND
  2404.  MOVE #9,D0
  2405.  MOVE #1,D1
  2406.  JSR DOSOUND
  2407.  MOVE #180,D0
  2408.  MOVE #6,D1
  2409.  JSR DOSOUND
  2410.  MOVE #$F6,D0  ;Turn on all tone voices
  2411.  MOVE #7,D1
  2412.  JSR DOSOUND
  2413.  MOVE #10,D0  ;Set volumes
  2414.  MOVE #8,D1
  2415.  JSR DOSOUND
  2416.  MOVEM.L (A7)+,D0-D7/A0-A4
  2417.  RTS
  2418.  
  2419. *-----------------Variables and Storage----------------*
  2420.  
  2421.  BSS
  2422.  EVEN
  2423.  
  2424. HOLDA0 DS.L 1
  2425. VCOUNT DS 1
  2426. COUNT DS 1
  2427. COUNT2 DS 1
  2428.  
  2429. POP_COUNT1 DS 1
  2430. POP_COUNT2 DS 1
  2431. POP_COUNT3 DS 1
  2432.  
  2433. POINTS DS.L 1
  2434. BONUS DS.L 1
  2435.  
  2436. XPOS DS 48
  2437. DELAY DS 48
  2438. SWITCH DS 48
  2439.  
  2440. OLDCLOWNX DS 1
  2441. OLDCLOWNY DS 1
  2442. CLOWNX DS 1
  2443. CLOWNY DS 1
  2444. CLOWNIMAGE DS 1
  2445. OLDIMAGE DS 1
  2446. IMAGETIME DS 1
  2447. LIVES DS 1
  2448.  
  2449. MENXPOS DS 1
  2450. OLDMEN DS 1
  2451.  
  2452. XYZZY DS 8
  2453. COLORS DS 16
  2454. OLD_COLORS DS 16
  2455. OLD_REZ DS 1
  2456.  
  2457. COUNTER DS 1
  2458. TIMER DS 1
  2459. COUNT1 DS 1
  2460. SCREEN DS.L 1
  2461. SCREEN2 DS.L 1
  2462. FHANDLE DS 1
  2463. HOLDEN DS.L 1
  2464. PCOUNT DS 1
  2465. PCOUNT2 DS 1
  2466.  EVEN
  2467.  
  2468. KAY DS 1
  2469. YINC DS 1
  2470. XINC DS 1
  2471. VPOS DS 1
  2472. HPOS DS 1
  2473. SYINC DS 1
  2474. KS DS 1
  2475. HITS DS 1
  2476. RNDVAL DS 1
  2477. TOP_FLAG DS 1
  2478.  
  2479. MUSDLY DS 1
  2480. MUSTAT DS 1
  2481. VOICE1 DS 1
  2482. VOICE2 DS 1
  2483. VOICE3 DS 1
  2484. MSDLY1 DS 1
  2485. MSDLY2 DS 1
  2486. MSDLY3 DS 1
  2487. MSPTR1 DS.L 1
  2488. MSPTR2 DS.L 1
  2489. MSPTR3 DS.L 1
  2490. SOUND_COUNT DS 1
  2491.  
  2492. LFSIZE DS.L 1
  2493. LFADR DS.L 1
  2494.  
  2495. ATTRACT_MODE DS 1
  2496. MEN_TIMER DS 1
  2497.  
  2498. BALLOONS DS.B 32000
  2499. FLIP1 DS.B 32000
  2500. MEN DS.B 32000
  2501. MESSAGES DS.B 32000
  2502. TITLE DS.B 32000
  2503. DECODE DS.B 32000
  2504.  
  2505.  END
  2506.